我正在使用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块之后的重写规则是我尝试重定向的方式。
我无法让它发挥作用。
答案 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