这看起来就像你想要用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重定向?我不确定第一行中是否只有一些参数,或者是必要的一些规则组合。
答案 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]