使用.htaccess进行无声重写

时间:2013-01-02 15:23:42

标签: apache .htaccess mod-rewrite redirect

我正在尝试在我的网站上执行以下操作:

重定向/到/ home 将/index.php重定向到/ home

目录home实际上不存在,但应链接到index.php文件。因此服务器将运行index.php,而客户端将server / home视为位置。 我相信,这应该通过一个无声的请求来完成,但是如何?

我有什么:

RewriteEngine On
RewriteRule ^(.*[^/])$ /$1/ [L,R=301] # for trailing slash
RewriteRule ^home/$ http://server/index.php [NC]
RewriteRule ^/$ http://server/home [L,NC]
RewriteRule ^index.php/$ http://server/home [L,NC]

不工作,它无限重定向......我该怎么做?

1 个答案:

答案 0 :(得分:2)

RewriteEngine On
RewriteBase /

#RewriteRule ^(.*[^/])$ /$1/ [L,R=301] # for trailing slash

RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^(/|index\.php/?|home)$ /home/ [L,R=302]

RewriteRule ^home/$ /index.php [NC]