.htaccess 重写问题

.htaccess 重写问题

下面是我在共享主机上的网站的 .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 触发规则,问题解决了。

相关内容