循环htaccess重写规则

时间:2012-10-17 16:39:56

标签: .htaccess rewrite

这看起来就像你想要用htaccess重写规则做的那样。但我似乎无法让它正常工作。

我的网站上有此页面:http://wireie.gocactus.com/network_extensions.php

我想将其重命名为:http://wireie.gocactus.com/transparent-ethernet-solutions

所以这就是我在htaccess文件中添加的行:

RewriteRule ^transparent-ethernet-solutions network_extensions\.php [NC]

Alrighty。现在,如果我去/transparent-ethernet-solutions,它的效果很好。

问题在于,/network_extensions.php仍然有效。所以我想用这一行重写那个url:

RewriteRule ^network_extensions\.php*$ /transparent-ethernet-solutions [R,NC]

现在它给了我一个关于太多重定向的错误消息。如果我添加没有第一行的第二行,它会改变PHP链接上的URL,但是在漂亮的链接重定向上给我一个“找不到页面”的错误。

我的思绪被吹了。我是否可以在不转发的情况下重写URL并使新URL工作而不从旧的URL重定向?我不确定第一行中是否只有一些参数,或者是必要的一些规则组合。

1 个答案:

答案 0 :(得分:1)

这是.htaccess中需要的代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^transparent-ethernet-solutions/?$ network_extensions.php [NC,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+network_extensions\.php\s [NC]
RewriteRule ^ transparent-ethernet-solutions [R=301,L]