2014-12-03 144 views
0

我一直在尋找沒有成功讓我的國防部重寫規則的工作。我現在創建一個網站,現在使用重寫規則指向一個特定的php文件,該文件將顯示基於url的內容。我遇到的問題是試圖讓重寫規則不適用,如果用戶去「something.com/phpmyadmin」我知道它已被問及之前,我已閱讀這些帖子,但我似乎還不能煤礦上班,這裏是重寫劇本,我有,而且它仍然是派遣我到的index.php,而不是/ phpMyAdmin的/htaccess mod重寫phpmyadmin

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/phpmyadmin 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .* index.php 

如果我去/phpmyadmin/index.php它工作正常,但我真的很困擾,爲什麼我不能讓目錄部分工作。

+0

唯一的另一個注意事項是,/ phpmyadmin /是一個別名,因爲它安裝爲PhpMyAdmin – Schugs 2014-12-03 20:06:40

回答

0

你應該使用THE_REQUEST變量:

RewriteEngine on 

RewriteCond %{THE_REQUEST} !/phpmyadmin [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

THE_REQUEST變量代表從您的瀏覽器Apache接收到原始請求,並沒有得到一些重寫規則執行後覆蓋。

+0

這給了我完全相同的結果。它是一個乾淨的apache安裝,只需使用虛擬主機,對默認配置文件的更改很少。不應該重寫cond默認爲「AND」,我不知道是什麼導致它評估爲真。 – Schugs 2014-12-03 19:31:44

+0

查看更新後的規則,並確保這是您的「DocumentRoot/.htaccess」中唯一的代碼。 '/ phpmyadmin /'中是否有.htaccess? – anubhava 2014-12-03 19:34:43

+0

這是htaccess中唯一的代碼。而phpmyadmin沒有使用任何.htaccess。 – Schugs 2014-12-03 20:01:45