【发布时间】:2015-09-03 05:03:40
【问题描述】:
我已经在我的本地主机上以多站点模式安装了 wordpress。我在 Windows 10 上使用 WAMP 服务器。
父站点运行良好,可以访问。但是,当我尝试访问子站点时,它说在服务器上找不到 URL。既适用于网站,也适用于它们的后端。
我已按照 wordpress 指定的网络设置说明进行操作。
我认为这是 mod_rewrite 的问题,当我取消注释时在我的 httpd.conf 中如何
#LoadModule rewrite_module modules/mod_rewrite.so
我收到内部服务器错误
我的 htaccess 文件是
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase sandbox/mainsite/
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]
</IfModule>
# END WordPress
另一个奇怪的事情是,当我将 wordpress 中的永久链接更改为自定义结构并点击保存时,它不会被保存并恢复到以前的设置。
有什么想法吗?
【问题讨论】:
-
您需要启用
mod_rewrite,由于<IfModule mod_rewrite.c>检查,您的.htaccess文件区域的内容将被忽略。 -
@doublesharp 所以我从 .htaccess 中删除了
并启用了 mod_rewrite,我得到一个内部服务器错误。 -
您可以保留
<IfModule>,因为它只是在处理其中的规则之前检查扩展是否已加载,因此您只需启用mod_rewrite。检查您的错误日志以获取详细信息,但也许您没有mod_write? -
我通过取消注释 #LoadModule rewrite_module modules/mod_rewrite.so 行启用了 mod_rewrite。启用它时,我仍然收到内部服务器错误。这让我很困惑。
-
[Thu Sep 03 12:17:07.506490 2015] [core:alert] [pid 36540:tid 1096] [client ::1:55389] E:/websites/sandbox/mainsite/.htaccess : RewriteBase: 参数不是有效的 URL 这是来自日志的错误
标签: wordpress apache .htaccess mod-rewrite