2010-06-15 131 views
0

我的網站是基於php的網站,但我在/ blog /文件夾中添加了wordpress。下面的.htaccess文件應該允許訪問/ blog /文件夾,但是我得到一個404錯誤,指出blog.php不存在。Apache mod重寫.htaccess問題

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{SCRIPT_FILENAME} !\.(gif|jpg|png)$ 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)/(.*)/$ /$1_$2.php [L] 
    RewriteRule ^(.*)/$ /$1.php [L] 
</IfModule> 

任何人都能夠提供幫助嗎?

+0

你有沒有WordPress自帶的.htaccess? – 2010-06-15 12:49:07

+0

不,沒有其他的.htaccess – 2010-06-15 13:50:06

回答

1

最後一個RewriteRule將您的請求重定向到/blog/index.php,您應該添加一個RewriteCond來檢查請求是否在博客文件夾中。

RewriteCond %{REQUEST_URI} !^/blog/.* 
+0

謝謝你的迴應。我的理解是,我得到的條件應該意味着如果文件/文件夾存在,它永遠不會達到重寫規則。顯然情況並非如此,你知道爲什麼嗎? 在任何情況下,當使用您的加法時,我會得到以下內容: [code]請求的URL /blog.php在此服務器上找不到。[/ code] – 2010-06-15 13:49:44

0

我管理這個使用下面的代碼,因爲某些原因被提出,條件語句不工作(我恨的.htaccess)

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteRule ^(blog) - [L] 
    RewriteCond %{SCRIPT_FILENAME} !\.(gif|jpg|png)$ 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)/(.*)/$ /$1_$2.php [L] 
    RewriteRule ^(.*)/$ /$1.php [L] 
</IfModule> 
0

添加

RewriteRule ^(blog) - [L] 

到public_html /.htaccess

RewriteEngine On 

爲我工作,以及一個新的Wordpress安裝與一個Hostgator帳戶上的Fantastico,與blog.example.com子域。