500使用虚拟主机时出现错误

时间:2012-01-14 作者:jerime

我在Web服务器的子目录中安装了Wordpress MU。当我将虚拟主机指向该目录时,我得到了索引页,但没有样式或对任何页面的访问权限。这就像它无法访问我的WP根目录的子目录中的任何内容,我得到了500个错误。当我查看Apache日志时,它说,

“由于可能的配置错误,请求超过了10个内部重定向的限制。如有必要,请使用‘LimitInternalRecursion’增加限制。使用‘LogLevel debug’获取回溯。”

根据我所做的研究,它指出了一个htaccess问题。但是,当我删除虚拟主机时,一切正常。我不知道我还需要尝试什么。我使用的是交钥匙Linux。有什么建议吗?

这是我的配置,

RewriteEngine On
RewriteBase /examples/
RewriteRule ^index\\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\\.php)$ $1 [L]
RewriteRule . index.php [L]
我想我已经把范围缩小到了RewriteBase。但仍然没有解决方案。

更新:越来越近。我尝试将上一条重写规则更改为,

RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
现在我不再收到500错误,但我的主站点的CSS不起作用,还有一些图像链接。第二个站点除了一些断开的链接之类的东西外,大部分都能正常工作。

3 个回复
最合适的回答,由SO网友:TimWolla 整理而成

你应该看看这个:Request exceeded the limit of 10 internal redirects due to probable configuration error.?RewriteRule Flags

这里似乎有一个递归。这可能是最后一条规则,因为没有任何其他内容的点将匹配索引。php也是如此。

SO网友:Chad Killingsworth

我在WordPress多站点安装中找到了这个问题。重定向限制是由默认的Word Press重写规则触发的。

原始(错误)规则

RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L]
对wp content、wp admin或wp includes文件夹中不存在的文件的请求出现问题。规则的第一部分没有触发正常的404响应,而是匹配url,无论它是否是子网站链接,从而无限循环。

固定规则

RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\\.php)$ $1 [L]
查看最新的Word Press源代码可以发现,这一点已经得到纠正。它只影响较旧的多站点安装。重写规则必须手动更新。

SO网友:Sagive

I can tell you that in wamp (尚未看到服务器类型)您需要执行以下操作才能激活“mod\\u rewrite”,以便系统可以使用永久链接。。

1. click the icon of wamp on your bottom left (running programs)
2. Choose >> apache >> apache modules
3. here if you scroll trough the option you would find a mod_rewrite
4. activate it, restart your server and you should be ok

希望这有帮助<干杯,萨吉夫

结束

相关推荐

如何在具有.htaccess的子域中对同一主机上托管的不同博客使用不同的域名

我有一个在wordpress上运行的网站,它的所有文件都位于我主机的public\\u html中。在其中,我创建了一个子域“phantomomaga”,并将另一个域重定向到该子域,使其成为“www.phantomaga.tk”,而不是“phantomaga.my domain.com”,为此,我向添加了一些代码。htaccess of my public\\u html as tellhere 让它像follow一样代码# BEGIN WordPress <IfModule mod_rew