htaccess |如何使用RewriteRule重定向?简单

时间:2013-07-12 10:34:28

标签: php regex apache .htaccess

我的网址指向我的网站:

http://www.mysite.ext/.htaccess.aspx-->/

我喜欢重定向到

http://www.mysite.ext/

但我不能。

在我的.htaccess文件中,我输入了以下规则:

RewriteRule ^(.htaccess(.+))/?$  http://www.mysite.ext/?        [R=301,L]

但不起作用

我也尝试过以下方法:

RewriteRule ^(\.htaccess\.aspx(.*))/?$  http://www.mysite.ext/?        [R=301,L]

但仍然没有运气。我不知道这是否有帮助,但该网站基于PHP。

请问好吗?

这真的很难吗?

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

不确定您是如何获得/.htaccess.aspx的请求以及您希望重定向它们的原因。

但请记住,Apache配置通常使用如下指令阻止对.htaccess的访问:

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

对于以/.ht开头的任何请求,会抛出403(禁止)错误。

解决方法:

拥有403的自定义处理程序:

ErrorDocument 403 /errorPage403.php

并拥有此重定向规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+\.htaccess\.aspx [NC]
RewriteRule ^ /? [L,R]