我正在尝试在我自己托管的WordPress博客上实施301重定向。
我试图通过包含Apache的标准mod_rewrite脚本的.htaccess文件来完成此操作。
我也试过通过GoDaddy的301重定向工具来做到这一点。
此外,我还尝试使用通常可靠的Simply 301 Redirects for WordPress插件。
以上都不是。
我在.htaccess中使用的301格式的重定向是:
RewriteRule ^/blog/example-post.html? /blog/example-post/ [R=301,L,NC]
RewriteRule ^/blog/another-post? /blog/another-post-with-new-url/ [R=301,L,NC]
如您所见,博客位于/ blog /。根目录中还有另一个.htaccess文件,其中包含以下内容:
rewriteengine on
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Expires "Wed, 1 Jan 2020 20:00:00 GMT"
</FilesMatch>
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
rewritecond %{HTTP_HOST} ^mywebsite.com
rewriterule (.*) http://www.mywebsite.com/$1 [R=301,L]
rewritecond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
rewriterule ^(.*)index\.php$ /$1 [R=301,L]
rewritecond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index-cc\.php\ HTTP/
rewriterule ^(.*)index-cc\.php$ /$1 [R=301,L]
rewritecond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html\ HTTP/
rewriterule ^(.*)index\.html$ /$1 [R=301,L]
rewritecond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index2\.html\ HTTP/
rewriterule ^(.*)index2\.html$ /$1 [R=301,L]
rewritecond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index_OLD\.html\ HTTP/
rewriterule ^(.*)index_OLD\.html$ /$1 [R=301,L]
我暂时从.htaccess中删除了这个,看看是否与WordPress .htaccess文件有任何冲突。情况似乎并非如此。
我还将我在WordPress中使用的重定向插入根.htaccess文件中,但同样,这并没有解决问题。
我已经用完了我所知道的选项。对于我可以实施什么来解决这个问题,还有其他建议吗?
答案 0 :(得分:0)
您需要删除htaccess文件规则中的前导斜杠:
RewriteRule ^blog/example-post.html /blog/example-post/ [R=301,L,NC]
RewriteRule ^blog/another-post /blog/another-post-with-new-url/ [R=301,L,NC]
摆脱?
部分。