如果我的网址会这样:
http://id.factor.ua/bez-rubriki/checkout/?price=...
并且网址将包含 bez-rubriki
我如何使用.htaccess重定向到此网址但没有此slug,如下一个网址:
http://id.factor.ua/checkout/?price=...
答案 0 :(得分:1)
对于内部重写,这很简单:
RewriteEngine on
RewriteRule ^bez-rubriki/checkout/$ /checkout/ [L,QSA]
对于外部重定向,添加R
标志:
RewriteEngine on
RewriteRule ^bez-rubriki/checkout/$ /checkout/ [R=301,L,QSA]
以上是.htaccess
样式文件中使用的版本。
一般说明:如果您可以控制http服务器配置,那么您应该始终更喜欢将此类规则放在主机配置中,而不是使用.htaccess样式文件。这些文件非常容易出错,使事情变得复杂,难以调试并且确实使服务器速度变慢。只有在http服务器配置的 no 控件或某些应用程序需要动态更改配置时才应使用它们。
因此,如果您想将这些规则放在主机配置中,则需要进行少量修改。您必须在测试请求路径的正则表达式中包含前导斜杠(/
):
RewriteEngine on
RewriteRule ^/bez-rubriki/checkout/$ /checkout/ [L,QSA]
进行外部重定向的版本:
RewriteEngine on
RewriteRule ^/bez-rubriki/checkout/$ /checkout/ [R=301,L,QSA]