2017-10-06 102 views
1

我想阻止通过重定向在.htaccess以下URL 403或301重定向到网站的网址的.htaccess 403重定向不工作

https://www.sitename.com/a/manage_blog

https://www.sitename.com/index.php/a/manage_blog

在.htaccess ,我写就像

RewriteRule ^(index.php/?)?a/manage_blog - [L,R=403] 

它作品的网址有index.php文件上时,没有index.php文件,它不会工作

我也试过以下

RewriteRule ^(index.php/?)?(a/?)?manage_blog - [L,R=403] 

请指引我解决这个问题。

+2

试试这个规则作为你最重要的规则:'RewriteRule ^(index \ .php /)?a/manage_blog(/.*)?$- [F,NC]' – anubhava

+1

@anubhava它的工作正常。请详细解释 –

+1

@anubhava将答案放在答案部分,以便接受 –

回答

2

试试这个规则为您的最顶端规则略低于RewriteEngine On行:

RewriteEngine On 

RewriteRule ^(index\.php/)?a/manage_blog(/.*)?$ - [F,NC] 
  • (index\.php/)?任选的开头匹配index.php/
  • a/manage_blog(/.*)?$匹配a/manage_blog后面跟着输入结束前的任意可选字符串。
  • [F,NC]将返回403(禁止)状态是请求URI匹配此模式。
+0

请解释我做了什么问题 –

+0

很可能您没有使用此规则作为您的.htaccess中的最顶级规则,而其他规则在执行之前这条规则 – anubhava

+1

非常感谢 –