2014-11-04 52 views
1

我試圖在運行Ubuntu的Linode服務器上配置WordPress永久鏈接。即使在完成配置它們的基本技巧之後,固定鏈接仍然無法正常工作。mod_rewrite上的「文件不存在」錯誤(WordPress永久鏈接)

的.htaccess -file已獲准 「777」 和WP改寫它:

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

# END WordPress 

我已經配置「等/ apache2的/網站可用/默認的方式如下:

DocumentRoot /var/www 
<Directory /> 
    Options FollowSymLinks 
     AllowOverride ALL 
</Directory> 
    <Directory /var/www/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride ALL 
     Order allow,deny 
     allow from all 
    </Directory> 
    <Directory /var/www/mydomin.com/public_html/mydirectory/> 
     RewriteEngine On 
     AllowOverride ALL 
    </Directory> 

正如你可以看到我已經嘗試設置有「AllowOverride」到不同的文件夾中。我只是給它一個鏡頭,認爲或許真的是壓倒對於特定文件夾的規則。

我已經跑「a2en mod重寫「命令並啓用mod_rewrite。

我每次進行更改後都重新啓動了Apache。

當我在我的WordPress網站上導航時,我收到「Page not found」錯誤。 Apache錯誤日誌說如下:

File does not exist: /var/www/mydomain.com/public_html/mydirectory/mysubdirectory/ 

我在這裏錯過了什麼?

+0

什麼是您的網站物理上在服務器上的路徑?您的文檔根目錄是/ var/www,但是您正試圖在/var/www/mydomain.com/public_html/mydirectory/mysubdirectory/ – Omnikrys 2014-11-04 19:21:24

+0

上啓用重寫@Omnikrys它是/var/www/mydomain.com/public_html/mydirectory/mysub目錄。這就是我安裝WordPress的地方。該網站安裝到子文件夾,因爲它是一個開發環境。但現在我有點困惑。當我的所有實際網站文件應該位於/var/www/mydomain.com/public_html/文件夾中時,我的文檔根目錄可以是/ var/www? – 2014-11-04 19:52:36

+0

您使用虛擬主機嗎? – Omnikrys 2014-11-04 20:17:10

回答

3

下面的設置可以在您的VirtualHost指令中找到相關站點。在大多數情況下,它位於一個單獨的文件中,並從服務器的主要conf文件中引用。

RewriteEngine On 
AllowOverride ALL 

一般而言,您希望將每個站點的所有設置保留在其自己的文件中。因此,如果您需要調整其他任何內容,請在包含該站點的VirtualHost指令的文件中進行調整。它使得將來更容易排除故障/維護。

相關問題