【问题标题】:I'm getting a 500 error for my multi site network我的多站点网络收到 500 错误
【发布时间】:2014-12-14 04:55:35
【问题描述】:

我刚刚在我的 WAMP 堆栈上安装了 Wordpress 安装,运行 Apache 2.2.17、MYSQL 5.5.8 和 PHP 3.3.5...这是一个全新的 4.0 Beta 版本...只是我手头上正在试验的那个使用Multi Site ..这就是我的问题所在..我按照Codex上所说的那样做了...但是当我复制并粘贴新的htaccess规则并激活重写模块时..我得到了500 ..但我确实查看了我的 Apache 错误日志,这是[Sat Dec 13 11:15:05 2014] [alert] [client 127.0.0.1] E:/wamp/www/Multiple Site Network Sandbox/.htaccess: RewriteRule: bad flag delimiters referer: http://localhost 的内容,因为我仍在学习我不知道它是什么意思...这是我的 .htaccess 文件..

让我知道!

RewriteEngine On
RewriteBase /Multiple%20Site%20Network%20Sandbox/
RewriteRule ^index\.php$ - [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).*) E:/wamp/www/Multiple Site Network Sandbox/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ E:/wamp/www/Multiple Site Network Sandbox/$2 [L]
RewriteRule . index.php [L]

【问题讨论】:

  • 如果将%20s 替换为空格会怎样?
  • 我用空格替换了 %20,现在它抛出了 404..
  • Ed,如果我在 MYSQL 数据库的 wp-sites 表中删除它们会怎样?
  • 我不知道他们为什么会在那里。您似乎无意中将本地文件夹的名称(“多站点网络沙盒”)添加到了某些 URL。

标签: wordpress apache .htaccess mod-rewrite


【解决方案1】:

你有多个问题。

首先,您需要将%20s 替换为空格。这会导致您的 500 错误。

其次,您遇到了 404 错误。这部分是由于您的 RewriteRules 包含本地路径,而不是 Web 路径。请记住,这是 Apache;它需要 URL,而不是本地路径。你需要做这样的事情(未经测试):

RewriteEngine On
RewriteBase /Multiple Site Network Sandbox/
RewriteRule ^index\.php$ - [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).*) /$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ /$2 [L]
RewriteRule . index.php [L]

您似乎对引用Multiple Site Network Sandbox这一事实也有一些问题;我不确定为什么在这个 .htaccess 文件中。如果您能提供更多关于您的 WP 站点网络的本地文件夹结构和示例 URL 的详细信息,将会更容易为您提供帮助。

【讨论】:

  • Ed.. 这没有效果.. "htaccess: RewriteBase 采用一个参数,即每个目录上下文的基本 URL"
  • 我强烈建议您避免在目录名称中使用空格。另外,需要明确的是,您是否预计有人会使用像 http://test-site-one/Multiple Site Network Sandbox/something 这样的 URL?还是“多站点网络沙箱”只是保存 WP 文件的文件夹?如果是后者,则根本不应该在 .htaccess 中提及。相反,.htaccess 文件应该在 in 该文件夹中。
  • Ed,感谢您抽出宝贵时间。我想我会再试一次。删除数据库并听取您的建议!多站点网络沙箱是保存 WP 文件的文件夹。我不知道那里出了什么问题,这是我第一次发生这种情况。我认为多站点的事情听起来很整洁,所以我试着去做失败(;我会再试一次,我会告诉你结果如何!
  • 很高兴为您提供帮助。如果您接受此答案,我将不胜感激,因为我们至少能够克服 500 错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 2020-12-27
  • 2012-09-24
相关资源
最近更新 更多