所以,我试图做到这一点:
我们有一个url/brand/new-inventory.php
。 这是我们网站内的物理文件。 我想要的是/brand/new
。 现在很简单 我只需要添加RewriteRule ^brand/new$ brand/new-inventory.php [L,QSA]
。
现在,我想要设置和我一直在挣扎是这样的:
我们需要/brand/new-inventory.php
被别人查看redirect到/brand/new
所以我们有一致的url和什么不是。
但是,当我尝试RewriteRule ^brand/new-inventory.php$ brand/new [R=301,L]
Firefox开始抱怨redirect循环永远不会结束。
如何重写一个页面来响应不同的URL,并将旧的URLredirect到新的?
有这样的方式:
RewriteCond %{THE_REQUEST} \s/+brand/new-inventory\.php[/\s?] [NC] RewriteRule ^ /brand/new [R=302,L] RewriteRule ^brand/new$ /brand/new-inventory.php [L,NC]
不同之处在于%{THE_REQUEST}
代表了Apache从浏览器收到的原始请求。 这个变量的值不会随着其他重写规则的应用而改变。