温馨提示×

ubuntu apache如何开启rewrite

小樊
38
2026-09-23 11:42:26
栏目: 智能运维

在 Ubuntu 上让 Apache 开启 rewrite(重写)模块,通常按下面几步操作即可:


一、启用 rewrite 模块

sudo a2enmod rewrite

执行后会提示你重启 Apache。


二、重启 Apache

sudo systemctl restart apache2

或(旧版本):

sudo service apache2 restart

三、配置允许 .htaccess 使用 rewrite

关键点:Apache 默认可能不允许使用 .htaccess 中的 rewrite 规则。

1. 修改虚拟主机配置

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

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

在 <VirtualHost *:80> 中添加或修改:

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

如果你用的是其他目录(如 /var/www/yourproject),对应修改即可。


2. 如果是 Ubuntu 默认 apache2.conf

也可以检查:

sudo nano /etc/apache2/apache2.conf

找到:

<Directory /var/www/>
    AllowOverride None
</Directory>

改为:

AllowOverride All

四、测试 rewrite 是否生效

在网站根目录创建 .htaccess:

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

访问:

http://your-domain/test

如果能正常访问 index.php,说明 rewrite 已生效 ✅


五、常见问题

1. 页面 500 错误

  • 检查 .htaccess 语法
  • 确认 AllowOverride All 已配置

2. rewrite 不生效

  • 确认模块已启用:apache2ctl -M | grep rewrite
  • 重启 Apache
  • 清除浏览器缓存

如果你用的是 LNMP / PHPStudy / Docker / 具体框架(Laravel / ThinkPHP / WordPress),可以告诉我,我可以给你更精确的配置示例。

0 踩