WordPress 永久链接因虚拟主机而失败

标签 wordpress apache .htaccess mod-rewrite

我在本地服务器上有一个 WordPress 博客:/var/www/html/blog (在根目录'/var/www/html'中还有其他页面我不应该移动,所以我不能将wordpress博客放在根目录中)

我购买了一个域名,并通过虚拟主机将其分配给此博客。然后我激活了 WordPress 博客中的永久链接。

问题是,当我转到 mydomain/index.php 或 mydomain/时,它显示“Apache 2 测试页”,并在 apache 错误日志中写入以下消息:

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /var/www/html/blog/

如果我访问 mydomain/wp-login.php,那就对了。如果我转到 mydomain/section/blabla/,那就对了。但索引页失败。

如果我评论放入 WordPress 博客中的 .htaccess 文件,则索引页面可以工作,但像 mydomain/section/blabla/这样的页面则不能。

这是我的虚拟主机配置代码:

<VirtualHost *:80>
     ServerAdmin ...Mymail...
     DocumentRoot /var/www/html/blog
     ServerName ...mydomain...
</Virtualhost>

这是我在 wordpress 目录中的 .htaccess:

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

最佳答案

已解决。 最后我将博客文件移至 apache 根目录。然后我删除了虚拟主机并创建了一个重定向规则:mydomain/-> mydomain/index.php

而且它有效。

关于WordPress 永久链接因虚拟主机而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29251569/

相关文章:

php - htaccess 删除 base 64 编码的 url 符号

wordpress - 强制使用 SSL 的 .htaccess 问题

javascript - 在特定元素/类上使用 lastModified

jquery - 将子菜单的宽度和位置与页面容器同步

javascript - 为 FB 发送添加自定义按钮

php - 通过 Woocommerce 中的钩子(Hook)自定义循环产品图像

java - 如何在不附加版本号的情况下将 Jar 上传到 Archiva?

django - 在 apache 上设置 django(mod_wsgi、virtualenv)

javascript - 配置 htaccess 绕过直接链接到 CSS 和 Javascript 文件

php - .htaccess 根据主机名设置 PHP 值