2011-08-16 158 views
0

我有一個非常簡單的國防部重寫規則簡單的MOD-重寫規則 - 單一規則 - 文件存在

Options FollowSymLinks 
RewriteEngine On 
RewriteRule ^hosted/essws/([^/]*)/$ /hosted/essws/?key=$1 [L] 

我想這個重寫激活即使文件或目錄是否存在。

例如: 的網址:

http://localhost/hosted/essws/candy-sweets-buffet/ 

將加載:

http://localhost/hosted/essws/index.php?key=candy-sweets-buffet 

即使目錄/託管/ essws /糖果甜點自助餐/存在。

任何幫助將不勝感激。

+0

默認情況下,即使存在目錄,URL也會被重寫。 – Shef

+0

爲什麼它沒有工作?嘗試添加斜槓:RewriteRule ^/hosted/essws /([^ /] *)/ $/hosted/essws /?key = $ 1 [L] – realmfoo

回答

3
Options FollowSymLinks 
RewriteEngine On 
RewriteRule ^hosted/essws/([^/]*)/$ /hosted/essws/?key=$1 [L] 

看! rewriteRule不關心目錄是否存在!它會重寫URL!
你的問題很簡單,太多人都擁有它!不要把/開始重寫論文的參數!

Options FollowSymLinks 
RewriteEngine On 
RewriteRule ^hosted/essws/([^/]*)/$ hosted/essws/?key=$1 [L] 
0

我掙扎試圖做了一會兒:

RewriteEngine On 
RewriteRule ^catalog/([0-9]+)/?$ catalog.php?id=$1 [NC,L] 

在我的情況下,catalog.php作爲文件形式存在。通過刪除MultiView,現有文件不再是重寫過程中的問題。

Options -MultiViews 
RewriteEngine On 
RewriteRule ^catalog/([0-9]+)/?$ catalog.php?id=$1 [NC,L] 

完成!