难以正确应用htaccess RewriteRule

时间:2011-12-14 11:55:51

标签: .htaccess url-rewriting

我的.htaccess文件中有这个代码:

RewriteEngine on
RewriteBase /testsite/
RewriteRule ^admin/(.*) administrator/$1
RewriteCond %{THE_REQUEST} ^GET\ /^administrator/
RewriteRule ^administrator/(.*) admin/$1 [L,R=301] 

工作

我的实际网址是:http://localhost/mysite/administrator/

当我输入http://localhost/mysite/admin时,它正在检索正确的页面。


失败

当我尝试使用http://localhost/mysite/administrator/请求页面时,它应该重写http://localhost/mysite/admin,但无效。

似乎重定向工作正常,但重写不是。
对此有何帮助?

2 个答案:

答案 0 :(得分:0)

RewriteEngine on

RewriteBase /mysite/

RewriteRule ^administrator /admin [L,R=301]

答案 1 :(得分:0)

您的错误是您的^中有一个迷路RewriteCond与“管理员”之前的THE_REQUEST匹配:

RewriteCond %{THE_REQUEST} ^GET\ /^administrator/

要:

RewriteCond %{THE_REQUEST} ^GET\ /administrator/