htaccess使用Wordpress重定向

时间:2016-02-29 20:39:39

标签: wordpress .htaccess mod-rewrite

我正在使用GoDaddy Hosted Wordpress网站。

我的用户会尝试转到<mywebsite.com>/jobs,我需要将其重定向到<mywebsite.com>/newpath/corporate-opportunities/

我的印象是我可以在我的GoDaddy托管安装的根目录中存在的.htaccess文件中放置重写规则。我有以下内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

<IfModule mod_rewrite>
RewriteEngine on
RewriteRule   http://<www.mywebsite.com>/jobs    http://<www.mywebsite.com>/newpath/corporate-opportunities/ [R]
</IfModule>   

第一组规则(在Wordpress开头和结束注释中)是Wordpress'永久链接'URL重写的常用内容,因此它们非常漂亮。 Wordpress块之后的重写规则是我尝试重定向的方式。

我无法让它发挥作用。

1 个答案:

答案 0 :(得分:1)

您需要将重定向规则移动到 WordPress重写规则集之上,以便事先看到它们。此外,RewriteRule模式(第一部分)始终是请求URI,而不是完全限定的URL - 当您使用一个域时,您也不需要使用完全限定的URL。替代部分。最后,您需要L标志才能在此时停止处理。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^jobs/?$ /newpath/corporate-opportunities/ [R,L]
</IfModule> 

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress