无法获取URL来解析... htaccess,mod_rewrite,wordpress问题

时间:2009-07-08 23:58:14

标签: wordpress .htaccess mod-rewrite

我遇到了重写问题。

我的/ blog目录中安装了Wordpress,但我希望Wordpress页面出现在博客目录之外。

所以,在我的根.htaccess中我添加了一行:(前三行已经存在,用于将所有内容重定向到“www”

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

RewriteRule ^(.*)$ "/blog/$1" [L]

然后我将Wordpress中的显示网址更改为我的根网址,并将固定链接结构更改为“/ blog /”,因此我的帖子仍然显示在博客目录中。

一切正常,但我无法通过www.tooboss.com/blog重定向到www.tooboss.com。相反,它会抛出404。

有什么想法吗?

供参考,这是博客目录的.htaccess文件“

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

# END WordPress

我错过了一些明显的东西吗?我觉得它被夹在2个htaccess文件之间,但我不知道该怎么做才能修复它。

由于

3 个答案:

答案 0 :(得分:1)

这不是规则:

RewriteRule ^(.*)$ "/blog/$1" [L]

导致www.tooboss.com/blog被发送到www.tooboss.com/blog/blog

我想你想要:

RewriteCond %{REQUEST_FILENAME} !^/blog/$
RewriteRule ^(.*)$ "/blog/$1" [L]

我对.htaccess很新,所以我可能会离开这里。

答案 1 :(得分:0)

回应你对seth答案的评论,试试这个:

RewriteRule ^/blog/?$ / [R=301,L]
RewriteRule ^(.*)$ /blog/$1 [L]

答案 2 :(得分:0)

I figured it out非常烦人的问题。我能够在不将我的博客移动到另一个命名目录的情况下解决问题,但它需要改变我不想做的Wordpress PHP。如果构建Wordpress来处理永久链接结构中的静态链接,我就不需要移动安装