[英]301 redirect - Dynamic urls - Keep query strings
在其他地方,我已经做了很多阅读,但是我仍在努力尝试实现的新htaccess重定向。 我尝试了各种版本的重写,但无法正常工作。 另外,对于我是否应该使用QSA仍然感到困惑。
我希望具有动态url的旧页面重定向到我已设置的新目录/页面。 问题是,我不想为我拥有的所有州和国家写一个条目。 我想保留现有的查询字符串。
我试图从:
http://example.com/olddir/detailsbyst.php?country=____&state=__&sd=____
http://example.com/NEWDIR/detailsbyst.php?country=____&state=__&sd=____
我尝试的最后一个版本是这个
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteCond %{QUERY_STRING} ^country=([A-Za-z0-9-]+)$ [NC]
RewriteCond %{QUERY_STRING} ^state=([A-Za-z0-9-]+)$ [NC]
RewriteCond %{QUERY_STRING} ^sd=([A-Za-z0-9-]+)$ [NC]
RewriteRule ^olddir/detailsbyst\.php$ http://example.com/newdir/detailsbyst.php [NC,QSA,L,R=301]
与此相关的是,一些旧的动态url在查询字符串的末尾有&desc而不是&sd,因此对于这些URL,我想将&desc转换为$ sd
谢谢-尼克
如果您只想将/olddir/
地址重定向到/NEWDIR/
,则需要使用一个RewriteRule:
RewriteRule ^olddir(.*)$ /NEWDIR$1 [NC, L,R=301]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.