下面是我在共享主机上的网站的 .htaccess 文件 - 我尝试将所有请求发送到带有参数“q”的 index.php,我希望在其中解析数据等...除非它是一个现有文件或目录。
所以我的问题是,如果我尝试浏览到实际目录并期望获得未经授权的通知(选项-Indexes),它会将我发送到我的index.php,并且我还注意到它print_r($_GET)
给了我这个:Array ( [q] => 403.shtml )
AddDefaultCharset UTF-8
Options -Indexes +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
如果可能的话,我们将非常感激您的帮助:)
答案1
OP 错误地回答了她自己的问题:
这最终成为我共享主机环境中 mod_security 的一个问题。我的主机提供商将域名列入白名单,以防 mod_security 触发规则,问题解决了。