如果URL中的查询不存在,则使用HTACCESS重定向到特定页面

时间:2016-05-20 21:08:46

标签: apache .htaccess

如果原始网址没有附加查询字符串,我希望将.htaccess重定向到新网址。例如:

www.mywebsite.com/Pricing/

应该重定向到

www.mywebsite.com/newpricing/

如果没有附加到/ pricing / url的查询。

如果查询字符串附加到/ pricing /,例如:

www.mywebsite.com/pricing/?query

它应该重定向到

 /pricing?query and NOT /newpricing/

摘要:

www.mywebsite.com/pricing/?query goes to www.mywebsite.com/pricing/?query

www.mywebsite.com/pricing/ goes to www.mywebsite.com/NewPricing/

编辑:

我试过了:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/pricing/$ /newpricing

我也尝试过:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^pricing/?$ /newpricing [NC,R=301,L]

似乎都没有做这项工作。我已验证我的mod_rewrite已启用,并已验证我的<directory>结构已正确设置。

并且它不起作用。我错过了什么?

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^pricing/?$ /newpricing [NC,R=301,L]

htaccess RewriteRule中的左侧网址永远不会以/

开头