1

这似乎正是您想要对 htaccess 重写规则执行的操作。但我似乎无法让它正常工作。

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

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

所以这是我放在我的 htaccess 文件中的行:

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

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

问题是,它/network_extensions.php仍然很好用。所以我想用这一行重写那个url:

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

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

我的心都炸了。我可以在不转发的情况下重写 URL 并在不从旧 URL 重定向的情况下使新 URL 工作吗?我不确定第一行中是否缺少一些参数,或者一些必要的规则组合。

4

1 回答 1

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]
于 2012-10-17T17:12:51.667 回答