2012-05-03 68 views
1

我有以下的網站結構RewriteEngine敘述條件目錄

index.php 
services.php 
contact.php 
/admin 

,並在.htaccess如下:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !(\.[^./]+)$ 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.*) /$1.php [L] 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php\ HTTP 
RewriteRule ^(.+)\.php$ /$1 [R=301,L] 

這成功地收拾我的網址,並引導至正確的網頁。

但是,它阻止了任何正在使用$ _POST和$ _GET的管理功能。

那麼有沒有辦法阻止在/ admin中執行規則或將其限制爲僅在頂級頁面中執行?

+0

我想重寫一個空白的.htaccess文件的管理文件夾淘從根本什麼。 –

+0

可能重複[停止父級.htaccess文件從傳播到子目錄](http://stackoverflow.com/questions/5382631/stop-parent-htaccess-file-from-propagating-to-child-directories) –

回答

1

只需添加此規則之後RewriteEngine on線(包括你的規則前):

RewriteRule ^admin(/.*|)$ - [L] 
+0

我似乎必須包括這個AFTER我的規則,否則它結束了一堆不同的錯誤。一切似乎都很好,謝謝。 – Tomate

+0

不客氣,很高興它解決了。 – anubhava

相關問題