繁体   English   中英

子目录.htaccess重定向上的WordPress博客

[英]WordPress blog on subdirectory .htaccess redirect

我在根级别上有一个Joomla网站,在/ blog上有wordpress博客。

在根级别的.htaccess中,我需要实现非www到www重定向,例如:

RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 

但是,这会导致在访问www.example.com/blog时出现问题(末尾带有“ /”)。 我被重定向到http://www.example.com/cgi-bin/php53.cgi/blog/index.php

那里的php53.cgi文件可以打开PHP 5.3版本。 这是该文件的内容:

#!/bin/sh
export PHP_FCGI_CHILDREN=3
exec /hsphere/shared/php53/bin/php-cgi

这是/ blog目录中的.htaccess:

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

您将需要在两个.htaccess上将非www重定向到www ,因为以后的.htaccess会覆盖您的Joomla .htaccess规则。

RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

至于不以/结尾的博客,您可以在Joomla .htaccess尝试以下规则:

# Redirect /blog to /blog/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+blog([^\s]+) [NC]
RewriteRule ^blog$ /blog/? [R=301,L]

注意:我使用%{THE_REQUEST}是因为由于我不知道您对Joomla .htaccess拥有什么规则,因此上述内容很可能在所有情况下都适用。

但是,您也可以采用一种更简单的方式来完成此操作,但这在所有情况下都无法正常运行,这取决于您拥有的其他规则:

# Redirect /blog to /blog/
RewriteRule ^blog$ /blog/? [R=301,L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM