在 Ubuntu 上让 Apache 开启 rewrite(重写)模块,通常按下面几步操作即可:
sudo a2enmod rewrite
执行后会提示你重启 Apache。
sudo systemctl restart apache2
或(旧版本):
sudo service apache2 restart
关键点:Apache 默认可能不允许使用 .htaccess 中的 rewrite 规则。
编辑你的站点配置,例如:
sudo nano /etc/apache2/sites-available/000-default.conf
在 <VirtualHost *:80> 中添加或修改:
<Directory /var/www/html>
AllowOverride All
</Directory>
如果你用的是其他目录(如
/var/www/yourproject),对应修改即可。
也可以检查:
sudo nano /etc/apache2/apache2.conf
找到:
<Directory /var/www/>
AllowOverride None
</Directory>
改为:
AllowOverride All
在网站根目录创建 .htaccess:
RewriteEngine On
RewriteRule ^test$ index.php [L]
访问:
http://your-domain/test
如果能正常访问 index.php,说明 rewrite 已生效 ✅
.htaccess 语法AllowOverride All 已配置apache2ctl -M | grep rewrite如果你用的是 LNMP / PHPStudy / Docker / 具体框架(Laravel / ThinkPHP / WordPress),可以告诉我,我可以给你更精确的配置示例。