我有一个名为 bfly.php 的现有页面,我需要将其更改为 butterfly-jewelry.php
我想这样做,如果有人去了网址 butterfly-jewelry.php ,他们会获得bfly.php页面,但网址不会改变它仍然是 butterfly- jewelry.php 。但是如果有人直接去bfly.php,网址会变为 butterfly-jewelry.php
有没有办法做到这一点而不会陷入重写循环?
谢谢!
答案 0 :(得分:1)
您可以将文件重命名为例如bfly1.php然后使用它:
RewriteRule ^butterfly-jewelry\.php bfly1.php [L,QSA]
RewriteRule ^bfly\.php http://yourhost.com/butterfly-jewelry.php [L,QSA,R=301]
(我尝试过Blixt的解决方案,但是尽管有L-flag,它仍会导致无限循环。)
答案 1 :(得分:0)
您可以使用上次规则和重定向标记来执行您想要的操作(请参阅the mod_rewrite documentation):
# Rewrite request to bfly.php, and then stop the rewrite engine.
RewriteRule ^butterfly-jewelry\.php$ bfly.php [L]
# Redirect the client to butterfly-jewelry.php with "Permanently Moved" status
RewriteRule ^bfly\.php$ butterfly-jewelry.php [L,R=301]
我没有测试过上述内容,但我相信它应该可行。