我正在尝试将带有查询字符串的 URL 重定向到没有查询字符串的 URL,但是,我想使用查询字符串中的值。
在下面的示例中,我使用的是单个状态,但是我希望它是动态的,这意味着它将解析任何带有查询字符串的 URL 到一个干净的 URL,该 URL 仍然包含查询字符串中的值。
Example: http://www.mywebsite.com/?state=CA redirects to http://www.mywebsite.com/CA/
我厌倦了将以下信息添加到我的 HTACCESS 文件中,但没有成功:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?state=([a-z]+)&type=([a-z\-]+)
RewriteRule ^ /%1/%2? [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?state=([a-z]+)($|\ )
RewriteRule ^ /%1? [L]
这些已经奏效,但是我必须输入我想避免的每个重定向:
RewriteCond %{QUERY_STRING} state=FL
RewriteRule ^$ "http://www.mywebsite.com/fl/?" [R=301,L]
RewriteCond %{QUERY_STRING} state=RI
RewriteRule ^$ "http://www.mywebsite.com/ri/?" [R=301,L]
有任何想法吗?我在 Apache 上使用 WordPress。我相信一切都是最新的。