我的.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 的错误日志。