簡體   English   中英

啟用永久鏈接后,Wordpress 在 wamp apache 上拋出 403 禁止錯誤?

[英]Wordpress throws 403 forbidden error on wamp apache when enabled permalink?

我已經設置了一個 wordpress 網站,在該網站上我啟用了永久鏈接以打開帶有 seo 友好網址的頁面。 所以它改變了我的 .htaccess 如下

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

但是現在當我嘗試訪問本地主機上的網站時,它會拋出錯誤

Forbidden

You don't have permission to access /my_blog/ on this server.

我試圖查看 apache 錯誤日志並找到了這個

[Thu Sep 19 22:33:29 2013] [error] [client 127.0.0.1] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: D:/www/brt_blog/, referer: http://localhost/

所以為了解決這個問題,我所做的是,我在#BEGIN Wordpress之前添加了以下行

Options FollowSymLinks

這得到了修復,並且站點可以通過 seo 友好的 url 正常工作。

但主要問題是,我的系統上 wamp 下的 apache 似乎存在一些錯誤配置或某種安全設置。 每次如果我使用具有此代碼的 htaccess 文件創建任何站點,它都會拋出相同的403 Forbidden錯誤。

<IfModule mod_rewrite.c>
RewriteEngine On
.... my rewrite rules here...
</IfModule>

這是我在 apache 上的 httpd.conf 文件的鏈接,以防萬一有人需要檢查它。 http://pastebin.com/LFxNTsnR

我進行了搜索,發現了一些可能導致此問題的問題。

403消息意味着這是一個權限錯誤。 該錯誤可能是由於 .htaccess 文件中缺少某些內容引起的,例如 .htaccess 文件頂部的Options +SymLinksIfOwnerMatch ,或來自/%year%/%monthnum%/%day%/%postname%/的永久鏈接格式字符串到/archives/%year%/%monthnum%/%day%/%postname%/

我發現很多有這個問題的人在 Google 上搜索“永久鏈接 403 錯誤”。 http://wordpress.org/support/topic/permalink-403-error

嘗試像這樣更改 httpd.conf 文件:在您的 httpd.conf(或包含的 .conf 文件之一)中是對您網站目錄的引用。 它看起來像這樣:

<Directory "/var/www/path/to/your/web/dir">
  Options ...
  ...
  etc.
</Directory>

在標簽之間添加 mod_rewrite 指令以啟用站點中的永久鏈接功能:

<Directory "/var/www/path/to/your/web/dir">
  ...
  <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
  </IfModule>
</Directory>

要獲得更多不支持 .htaccess 的永久鏈接控制,請安裝重定向插件。 如果沒有有效的 .htaccess 文件,這些選項將觸發一個錯誤,我相信您可以放心地忽略該錯誤。 至少它在我的測試服務器上工作。

使用 bitnami wamp,在我的虛擬主機中,我有:

<Directory "path-to-site">
    Options Indexes FollowSymLinks
    AllowOverride All
    Options None # observe this line 
    Require all granted
</Directory>

我把它改成:

<Directory "path-to-site">
    Options Indexes FollowSymLinks
    AllowOverride All
    Options all # set to all and htaccess is happy
    Require all granted
</Directory>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM