【发布时间】:2014-08-29 19:05:22
【问题描述】:
我已经让 htaccess 在查询字符串中使用 + 符号重定向空间 %20。然后我有另一个规则从一个目录重定向到另一个。
示例:
http://Mysite/domestic-jobs/?domestic=val or otherVal
将被重定向到
http://Mysite/jobs/?domestic=val+or+otherVal
现在我需要在我的 htaccess 文件中包含另一个规则,该规则将 ? 之后的查询字符串参数从 ?domestic= 重定向到 ?position=。如何在不中断文件中其他规则的情况下做到这一点?
示例:
http:/Mysite/domestic-jobs/?domestic=val or otherVal
我需要被重定向到
http:/site/jobs/?position=val+or+otherVal
这是我目前所拥有的。
Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(.*)%20(.*)$
RewriteRule ^(.*)$ /$1?%1+%2 [L,R=301,NE]
RewriteRule ^domestic-jobs/(.*)$ /jobs/$1 [R=301,NC,L]
【问题讨论】:
-
Jon Lin 的回答奏效了。只需在我的 htaccess 文件中已经存在的第一个 Cond 和 Rule 之后添加 Cond 和 Rule。否则它没有正确重定向。
标签: apache .htaccess mod-rewrite redirect