使用htaccess在Wordpress中重定向页面

时间:2015-02-07 20:08:55

标签: wordpress apache .htaccess redirect

我创建了一个Wordpress网站,它是旧网站的更新版本。旧网站已经有一些谷歌搜索的高链接,我想在htaccess形式创建重定向旧页面到新的(域保持不变)。例如,我有一个像这样的链接

/index.php?event=newsdetails&news_id=139&parent_id=4&menu_id=1 

我希望将其重定向到此

/blog/my/link 

我怎么能这样做?是否可以这样做,因此它可以在任何域上工作(例如新网站现在是在测试域上)? 这是我的htaccess文件,但它没有按我想要的方式工作:

RewriteEngine On
RewriteBase /

#RewriteCond %{HTTP_HOST} ^(www\.)?pchig\.pl$ [NC]
#RewriteRule !^pl/ /pl%{REQUEST_URI} [L,NC]

RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

#Redirections
RewriteRule ^/index.php?event=newsdetails&news_id=140&parent_id=4&menu_id=1(\/.*)?$ /blog/my/link [R=301,L]

1 个答案:

答案 0 :(得分:0)

您可以尝试在.htaccess文件中添加301重定向:

redirect 301 /old/old.html http://www.new.com/new.html

注意:不要将“http://www”添加到第一部分 声明 - 从您网站的顶层放置路径 到页面。还要确保留出一个空间 这些要素之间:

重定向301(页面移动的指令)

/old/old.htm(原始文件夹路径和文件名)

http://www.new.com/new.htm(新路径和文件名)

当搜索引擎再次抓取您的网站时,他们会 按照您在.htaccess文件中创建的规则进行操作。 搜索引擎蜘蛛实际上并没有阅读 .htaccess文件,但识别来自的响应 服务器有效。

在下次更新期间,旧文件名和路径将是 丢掉并换成新的。有时你可能 在转换期间查看交替的旧/新文件名 期间,加上排名的一些波动。根据 Google需要6到8周的时间才能看到相应的变化 在你的网页上。

如果要重定向域中的所有文件,请在您的域中使用此文件 .htaccess文件,如果你在unix Web服务器上:

redirectMatch 301 ^(.*)$ http://www.example.com 
redirectMatch permanent ^(.*)$ http://www.example.com

您也可以在.htaccess文件中使用其中一个:

redirect 301 /index.html http://www.example.com/index.html 
redirect permanent /index.html http://www.example.com/index.html 
redirectpermanent /index.html http://www.example.com/index.html 

这将使用a将“index.html”重定向到另一个域 301-移动永久重定向。

如果您需要将http://example.com重定向到 http://www.example.com你已经启用了mod_rewrite 您可以将服务器放在.htaccess文件中:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=permanent,L]

或者这个:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.exmaple.com/$1 [R=301,L]