努力改变
https://www.example.com/search/label/my%20search%20term
到
https://www.example.com/tag/my-search-term
根据下面@anubhava 的回答,选项 2 有效:
RewriteEngine On
RewriteRule ^search/label/(\S+)[-\s]+(\S+)$ /tag/$1-$2 [NE,NC,L,R=301]
RewriteRule ^search/label/(\S+)$ /tag/$1 [NE,NC,L,R=301]
RewriteRule ^(search/label/\S+)\s+(\S+\s.*)$ /$1-$2 [NC,L]
谢谢!
答案 0 :(得分:1)
您可以在站点根目录 .htaccess 中尝试这些递归规则:
选项 1:
RewriteEngine On
RewriteRule ^(search/label/\S+)\s+(\S+\s.*)$ /$1-$2 [N,NC,DPI]
RewriteRule ^search/label/(\S+)[-\s]+(\S+)$ /tag/$1-$2 [NE,NC,L,R=301]
RewriteRule ^search/label/(\S+)$ /tag/$1 [NE,NC,L,R=301]
选项 2:
RewriteEngine On
RewriteRule ^search/label/(\S+)[-\s]+(\S+)$ /tag/$1-$2 [NE,NC,L,R=301]
RewriteRule ^search/label/(\S+)$ /tag/$1 [NE,NC,L,R=301]
RewriteRule ^(search/label/\S+)\s+(\S+\s.*)$ /$1-$2 [NC,L]
答案 1 :(得分:0)
您能否尝试以下操作,按照显示的示例编写。请确保在测试您的网址之前清除浏览器缓存。
RewriteEngine ON
RewriteRule ^search/label/([^\s]*)\s([^\s]*)\s(.*)/?$ tag/$1-$2-$3 [NE,R=301,L]
OR 在此处使用 \S
:请确保您要么在上面添加规则,要么一次只遵循一个规则。
RewriteEngine ON
RewriteRule ^search/label/(\S*)\s(\S*)\s(.*)/?$ tag/$1-$2-$3 [NE,R=301,L]