在我的应用程序中,我的域名指向index.php。我有一个名为“mod”的文件夹,我想将所有请求从“mod”文件夹重定向到index.php
这是我在启用网站的配置文件中的规则,但它不起作用,意味着我仍然可以从url访问mod文件夹中的文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^mod/.* http://domain.com/ [R=301,L]
</IfModule>
有人可以告诉我这里的问题是什么吗?
答案 0 :(得分:1)
你的规则如下:
RewriteEngine On
RewriteRule ^/?mod/ /index.php [L]
注意mod
之前的可选前导斜杠,它将使此规则在.htaccess以及Apache配置文件中工作。我还删除了R
以避免外部重定向。
编辑:
似乎ajax请求存在问题。所以我们需要通过为ajax请求发送ajax = 1来区分ajax请求并更改规则。
在mod文件夹中创建.htaccess文件并添加这些行
RewriteEngine On
RewriteCond %{QUERY_STRING} !(^|&)ajax= [NC]
RewriteRule ^ /index.php [L,R]