【问题标题】:How do I combine WordPress permalink code and .htaccess redirect?如何结合 WordPress 永久链接代码和 .htaccess 重定向?
【发布时间】:2009-11-25 00:07:04
【问题描述】:

我正在尝试组合以下代码,以便 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/ 的直接链接 - 非常感谢任何帮助...

【问题讨论】:

  • 阿曼达,其中一个答案是否有助于您解决问题?如果是这样,您应该将其标记为已解决,并且解决者和您自己都将获得一些声誉积分。
  • 您的解决方案完美运行,非常感谢!对不起,我没有早点回复,感恩节假期出去了。只要我有更高的声誉,我就会投票给你!

标签: wordpress .htaccess


【解决方案1】:

您需要交换代码块。 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 之前。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 所有图像都在 burrowpress 子目录中。如前所述,burrowpress.com/images 被写为 waringis.com/burrowpress/images。
    • 对,我确实想要子域目录中的图像。这样我就可以将路径写为 burrowpress.com/images/file.jpg 而不是 waringis.com/burrowpress/images/file.jpg 像当前设置的那样。
    猜你喜欢
    • 1970-01-01
    • 2015-05-04
    • 2013-04-25
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2012-07-09
    • 2012-12-27
    • 2013-08-14
    相关资源
    最近更新 更多