2011-07-16 60 views
5

我在EC2上安裝了WordPress,位於/var/www/html/wordpress。我遵循WordPress指南將index.php和.htaccess複製到根目錄,即/var/www/html,並修改了index.php並在管理面板中進行設置。如果我堅持只有默認鏈接,例如:http://www.cubcanfly.com/?p=5,但是其他永久鏈接選項失敗,實際上是所有永久鏈接選項,它工作得很好。在自己的目錄中安裝WordPress,但永久鏈接失敗

的.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> 

/etc/httpd/conf/httpd.conf中

LoadModule rewrite_module modules/mod_rewrite.so 

沒有評論。

在此先感謝

回答

7

最後我發現問題。這是位於/etc/httpd/conf/httpd.conf中的httpd.conf中的AllowOverride選項,「sudo find/-name httpd.conf -print」可以輕鬆找到它。 我改變了任何AllowOverride NONE-> ALL,我可以在文件中找到。這只是工作,甚至沒有做任何改變的.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> 

這的.htaccess作品在我的主人在WordPress是安裝在自己的目錄上。

謝謝@adlawson @沒有你,我找不到問題。

http://codex.wordpress.org/Using_Permalinks這個官方指南足夠使用永久鏈接,甚至wordpress安裝在一個子目錄中。

4

看一看這個帖子How does RewriteBase work in .htaccess

您需要更改RewriteBase /RewriteBase /wordpress

+3

不要忘記改變最後重寫規則來/wordpress/index.php 。 – Will

+0

@adlawson @我將.htaccess更改爲... RewriteBase /wordpress...RewriteRule。 /wordpress/index.php [L]和永久鏈接仍然無效,謝謝你的幫助。 – HooYao

+0

@adlawson @會感謝你的幫助,我終於找到了這裏發生的一切。我沒有在httpd.conf中啓用AllowOverride。一旦我將它設置爲All,它就可以很好地處理我在主線程中發佈的.htaccess文件。我們實際上並不需要做任何事情^ _ ^乾杯。 – HooYao

0

我不需要在.htaccess中編輯RewriteBase。 問題的確在於EC2機器的httpd配置。

我的.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> 

在/etc/httpd/conf/httpd.conf中 -

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 

# AllowOverride controls what directives may be placed in .htaccess files. 
# It can be "All", "None", or any combination of the keywords: 
# Options FileInfo AuthConfig Limit 
# 
AllowOverride All