我已将固定链接更改为自定义结构/ news /%postname%但是我现在正尝试设置301重定向,因此如果有人输入http://example.com/this-is-my-post的旧网址,他们将自动重定向到{ {3}}
我已经成功设置了自定义帖子类型的重定向,因为我将所有帖子从自定义帖子类型“events”移到了“latest”,使用了这个:
RewriteRule ^ events /(.*) http://example.com/news/this-is-my-post $ 1 [R = 301,L]
但是我不确定我是否可以使用它来重定向主要博客帖子,而不会影响网站页面。
答案 0 :(得分:0)
要忽略events
或latest
的请求,您必须定义适当的condition。 rule看起来与您已有的相似
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/events/
RewriteCond %{REQUEST_URI} !^/latest/
RewriteCond %{REQUEST_URI} !^/news/
RewriteRule ^(.*)$ /news/$1 [R,L]
您也可以将三个排除条件合并为一个
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/(events|latest|news)/
RewriteRule ^(.*)$ /news/$1 [R,L]
如果一切正常,您可以将R
替换为R=301
(permanent redirect)。 从不使用R=301
进行测试。