让我举例说明。假设我的 .htaccess 文件中有以下重定向规则:
RedirectMatch 301 ^/([^/]+)/([^/]+)/$ http://www.example.com/$2
它的基本作用是重定向http://www.mysite.com/sports/test-post/
到http://www.mysite.com/test-post/
。
现在,我该如何修改 .htaccess 规则来做相反的事情?(即重定向http://www.mysite.com/test-post/
到http://www.mysite.com/sports/test-post/
)
答案1
RewriteCond %{REQUEST_URI} !^/sports/ [NC]
RewriteRule ^/([^/]+)/(.*)$ http://www.example.com/sports/$1/$2 [R=301]
这也会发送/test-post/blah/
到/sports/test-post/blah
- 如果您不想在有额外内容时进行重定向,请(.*)
从匹配字符串和$2
替换字符串中删除。