温馨提示×

debian apache如何开重写

小樊
33
2026-10-27 00:10:11
栏目: 智能运维

在 Debian 上让 Apache 支持 URL Rewrite(重写),通常步骤如下:


一、启用 rewrite 模块

sudo a2enmod rewrite

启用后重启 Apache:

sudo systemctl restart apache2

二、修改 Apache 配置(关键)

1. 如果是 虚拟主机(推荐方式)

编辑你的站点配置,例如:

sudo nano /etc/apache2/sites-available/000-default.conf

在 <VirtualHost *:80> 里加上:

<Directory /var/www/html>
    AllowOverride All
</Directory>

⚠️ 默认是 AllowOverride None,不改成 All,.htaccess 不会生效

保存后重启 Apache:

sudo systemctl restart apache2

2. 如果使用 .htaccess

在网站根目录(如 /var/www/html)创建或编辑 .htaccess:

RewriteEngine On
RewriteRule ^test$ index.php [L]

三、常用测试示例

隐藏 index.php(ThinkPHP / Laravel 常用)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]

四、排查是否生效

  1. 查看模块是否启用:
apache2ctl -M | grep rewrite

应看到:

rewrite_module (shared)
  1. 查看错误日志:
sudo tail -f /var/log/apache2/error.log

如果你告诉我:

  • 用的是 Apache 几
  • 是 Debian 几
  • 用的是 Laravel / ThinkPHP / WordPress / 原生 PHP

我可以给你更精确的配置。

0 踩