如何组合WordPress永久链接代码和.htaccess重定向?

时间:2009-11-25 00:07:04

标签: wordpress .htaccess

我正在尝试合并以下代码,以便WordPress永久链接在主目录中工作,waringis.com(顶级代码)和第二个域burrowpress.com重定向到子目录'waringis.com/burrowpress '(底部代码) -

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

RewriteEngine On 
RewriteCond %{HTTP_HOST}  burrowpress.com$ [NC]
RewriteCond %{REQUEST_URI} !^/burrowpress/.*$
RewriteRule ^(.*)$  /burrowpress/$1

现在永久链接正在WordPress中工作,重定向工作但图像必须是waringis.com/burrowpress/images/的直接链接,而不是burrowpress.com/images/ - 非常感谢任何帮助......

2 个答案:

答案 0 :(得分:5)

您需要交换代码块。 WordPress规则上的[L]标志正在其代码中停止执行该行的文件,因为您的特殊路径将“传递”WordPress REWRITE_COND语句:

RewriteEngine On 
RewriteCond %{HTTP_HOST}  burrowpress.com$ [NC]
RewriteCond %{REQUEST_URI} !^/burrowpress/.*$
RewriteRule ^(.*)$  /burrowpress/$1 [L]

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

# END WordPress

您不需要两个RewriteEngine On语句,但由于WordPress能够重写您的.htaccess文件(取决于您如何设置),您可能希望保留它。如果要手动更新文件,可以删除第二个RewriteEngine on指令。

重要部分是我将特殊规则移到wordpress之前。

答案 1 :(得分:1)

我不是.htaccess专家,但我会说你不需要包括RewriteEngine On两次,你可以将重定向代码放在if语句中。所以你想重定向到子域但没有将你的图像保存在子域中这是正确的吗?