我正在使用
重写我的网址RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteCond %{QUERY_STRING} ^search_query=(.+)$
RewriteRule ^search/videos$ /search/videos/%1? [R=301,L]
从XXX.XXX.XXX.XX/search/videos?search_query=XXXX+XXXX
到XXX.XXX.XXX.XX/search/videos/XXXX+XXXX
现在问题是我要替换" +"用" - "带连字符的空格(+)。我尝试了以下代码,但没有工作。
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.*?)(?:\+|%20|\s)+(.+?)\sHTTP [NC]
RewriteRule ^ %1-%2 [L,NE,R=302]
我有上面的代码用连字符替换空格,但我想与下面的代码集成。
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
RewriteCond %{QUERY_STRING} ^search_query=(.+)$
RewriteRule ^search/videos$ /search/videos/%1? [R=301,L]
答案 0 :(得分:0)
我已经在上面的查询中找到解决方案我已经写了这样的重写规则。
首先将您想要的URL转换为您,然后删除特殊字符形式的URL。
RewriteCond %{QUERY_STRING} ^search_query=(.+)$
RewriteRule ^search/videos$ /search/videos/%1? [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.*?)(?:\+|%20|\s)+(.+?)\sHTTP [NC]
RewriteRule ^ /%1-%2 [L,NE,R=302]