- 确认Apache已启用重写模块。打开终端并输入:
sudo a2enmod rewrite
- 配置Apache允许使用.htaccess ,编辑/httpd.conf文件并找到以下内容:
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
- 将AllowOverride选项更改为All:
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
- 保存更改并重新启动Apache服务:
sudo systemctl restart apache2
- 确认.htaccess文件的语法正确。例如,以下示例应在“/var/www/html/test/”目录中工作:
RewriteEngine on
RewriteBase /test/
RewriteRule ^example/([0-9]+)/?$ index.php?id=$1 [L,QSA]
- 如果仍然无法生效,请检查文件或文件夹的权限是否正确。使用以下命令更改权限:
sudo chmod -R 755 /var/www/html/test/
sudo chown -R www-data:www-data /var/www/html/test/