2010-09-24 43 views
1

我有以下的htaccess允許在URL中沒有文件擴展名:的.htaccess文件夾和文件名衝突改寫

Options +FollowSymlinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ $1.php 

我的問題是,我有兩個文件名爲images.php和文件夾稱爲圖像,所以當我使用url:.com/images - 它將我帶到images文件夾,其中:.com/contact - 將我帶到正確的頁面。

+0

引領你去向何方?COM /圖片/? – jatt 2010-09-24 11:28:45

+0

而你說過你已經嘗試刪除'RewriteCond%{REQUEST_FILENAME}!-d'? – 2010-09-26 07:48:49

+0

嘿,我有同樣的問題,你有沒有找到解決這個問題的方法? – Rob 2012-03-30 03:40:11

回答

0

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d

有了這兩條線,你說如果測試字符串(在你的案件「圖像」)不是一個目錄,而不是一個文件,重寫它images.php。現在,既然你有圖像目錄,第二個規則不滿意,圖像重寫到images.php內部。

請更改文件夾的名稱,更改腳本的名稱或更改.htaccess規則和條件。

+0

我會怎樣改變htacces條件?我已經嘗試了-f和-d的每個組合,並將它們移除並倒轉(!),並且仍然首先查找文件夾 – slexAtrukov 2010-09-24 11:50:34

0

我覺得如果你的規則之前添加此規則假設工作... ...(但我沒有測試)

RewriteRule ^images/(.*)$ images/$1.php [L] 
0

由於Tim Stone建議,去掉RewriteCond %{REQUEST_FILENAME} !-d線將解決這個問題。然後

你的規則應該如下所示:

Options +FollowSymlinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ $1.php 
相關問題