【问题标题】:WordPress on Localhost with .htaccess带有 .htaccess 的 localhost 上的 WordPress
【发布时间】:2018-03-21 11:53:53
【问题描述】:

我在 UniServer 上运行的本地服务器上安装了 WordPress(最新)。 安装完成正常,我能够在管理区域中导航并添加了一些帖子。 从前端看,一切正常。

然后我将永久链接设置更改为“帖子名称”,当我保存它时,我收到一个错误“禁止 - 您无权访问此服务器上的 /wp-admin/options-permalink.php。”

在检查时我发现如果我删除了 .htaccess 文件,我会重新获得访问权限,并且可以将 Permlink 设置重置为“Plain”。 更改为“Plain”以外的任何内容都会导致创建 .htaccess 文件且无法访问。

Apache 错误日志显示以下内容:- “[2018 年 3 月 21 日星期三 12:35:04.297002] [rewrite:error] [pid 14192:tid 1908] [client ::1:52537] AH00670: 选项 FollowSymLinks 和 SymLinksIfOwnerMatch 都关闭,因此 RewriteRule 指令也被禁止类似的规避目录限制的能力:D:/WEBS/js/wp-admin/options-permalink.php,referer:http://localhost/wp-admin/options-permalink.php"

我已经使用 Google 搜索过这条消息,并且在 .htaccess 文件和 httpd.conf 文件的更改中转了一圈,但无济于事。

创建的.htaccess文件如下:-

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

# END WordPress

我已关注此处发布的内容:[https://codex.wordpress.org/Using_Permalinks]

任何帮助将不胜感激......

【问题讨论】:

  • 你的重写是在本地服务器上吗?
  • 我已经设法理解了部分问题。当我将 SymLinksIfOwnerMatch 添加到 .htaccess 文件时,WordPress 似乎正在删除该行。在 httpd.conf 文件中的“DocumentRoot”中添加“Options Indexes FollowSymLinks SymLinksIfOwnerMatch”可以解决问题!现在唯一的问题是我需要我添加的所有选项吗??!?!?
  • @dipmala - 是的,重写作为一个模块启用
  • @itfidds 从 options-permalink 页面截屏并将其添加到问题中

标签: wordpress apache .htaccess localhost


【解决方案1】:

好的,解决方案似乎是需要启用 SymLinks。

所以,我在 .htaccess 中添加了以下内容

Options +FollowSymLinks

我没有注意到的是,当我在 WordPress 中更改永久链接选项时,上面的代码被删除了。

所以在 Google 上进一步搜索并使用 httpd.conf 文件进行测试后,我发现通过将以下行添加到 DocumentRoot 可以工作

Options Indexes FollowSymLinks SymLinksIfOwnerMatch

我不相信我需要所有选项,并且在时间允许的情况下,尝试了解每个选项的后果以及是否需要它们。

但是,现在,我可以再次在本地访问 WordPress 站点,并将 PermaLinks 设置为“帖子名称”。

【讨论】:

    猜你喜欢
    • 2013-01-26
    • 1970-01-01
    • 2011-01-10
    • 2014-08-29
    • 2023-02-15
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多