2011-04-06 168 views
0

我寫PHP中的MVC框架,並試圖用這個模式來重寫URL:問題URL重寫的.htaccess

www.example.com/contact/send/

讀作

www.example.com/index.php?url=contact/send/

所以我可以爆炸$ _GET ['url'] var並使用到fw中進行路由。

它幾乎在任何情況下工作的偉大,唯一的問題是,當我嘗試使用一個字符串,它是一個文件夾過,AK「管理員」,沒有尾隨斜線,網址暴露的變量。

像這樣:

www.example.com/admin/ - OK,網址停留就這樣

www.example.com/admin - 繼承人的問題,網址重定向瀏覽器於:

www.example.com/admin/?url=admin

的$ _GET [「網址」]設置並在這兩種情況下工作正常,但我想犯規暴露「網址=管理員。

Theres any way to do that?

謝謝!

的是的.htaccess:

RewriteEngine敘述在

的RewriteCond%{} SCRIPT_FILENAME -f 的RewriteCond%{} REQUEST_FILENAME -f

的RewriteCond%{} SCRIPT_FILENAME -d ! RewriteCond%{REQUEST_FILENAME} -d

RewriteRule ^(。*)$ index.php?url = $ 1 [PT,L]

回答

1

我想你錯過了! :

RewriteCond %{REQUEST_FILENAME} !-d 

你想重寫時,它不是一個目錄。

編輯:或者,也許一個例外

RewriteCond %{REQUEST_URI} !^/admin/? 
+0

我試了一下,但還是得到同樣的結果。 – Leandro 2011-04-06 20:24:09