当一个特定变量在动态URL中的某个地方时,我似乎无法运行301重定向并重写。
例如,使用以下任何网址:
/movabletype/mt-search.cgi?tag=SOMETHING&limit=20
/some-other-random-content?post=somethinghere&tag=SOMETHING
如果 tag=SOMETHING
位于网址内的任何位置,则会重定向到:
的 /categories/something_here/
任何想法?!这就是我到目前为止所做的事情 - 我对RewriteCond中的内容感到茫然
RewriteCond %{REQUEST_URI}
RewriteRule tag=SOMETHING /categories/something_here/ [L,R=301]
答案 0 :(得分:0)
您的重写条件需要左手和右手参数。看起来您想要在存在某个URL参数时重定向(即标记),因此您可以在条件中使用%{QUERY_STRING}
。
考虑以下示例:
RewriteCond %{QUERY_STRING} tag=([A-Za-z0-9]+)
RewriteRule ^(.*)$ /categories/$1 [R=301,L]
这应该采用/some-other-random-content?post=somethinghere&tag=SOMETHING
之类的网址,并将其重定向到/categories/SOMETHING
。
URL Rewriting for Beginners可能是一个有用的指南。