.htaccess 不起作用

.htaccess 不起作用

我的.htaccess 中有以下内容:

Options +FollowSymlinks
RewriteEngine On
RewriteRule  (.*)\.php$ index.php

我只想重写访问到 index.php 的每个 .php 文件,更改第一个斜杠后的所有内容。我不知道为什么它不起作用。已经卡在这里几个小时了。:|

答案1

尝试...

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

这将使用 index.php 作为请求的内部脚本(将原始相对 url 作为查询字符串附加到 index.php),它不会重定向到 index.php。

还要确保您具有适当的选项并为此目录设置了 allowoverride 以便能够使用 rewriterules.. 其中包括需要 FollowSymlinks。

测试 -

Options All
AllowOverride All

...在 httpd.conf 或定义目录的位置。重新启动 Apache。

确保 mod_rewrite 已加载。

并检查 Apache 的错误日志。

相关内容