2013-05-27 94 views
0

我掙扎在我的htaccess文件工作,以得到一個簡單的URL重寫。它看起來像這樣:URL重寫 - 參數爲空

RewriteRule ^getbars/([A-Za-z\d,]+)?$ getbars.php?guid=$1 [NC,L] 

的想法是重定向的URL,如/ getbars/519f1dec603f9到/getbars.php?guid=519f1dec603f9

出於某種原因,但是,GUID參數爲空時,我嘗試在getbars.php得到它

但是,如果我在我的瀏覽器將其更改爲

RewriteRule ^bars/([A-Za-z\d,]+)?$ getbars.php?guid=$1 [NC,L] 

和負載/酒吧/ 519f1dec603f9相反,它似乎工作確定。

我在做什麼錯?

+0

你有任何其他rewriterules?如果你在上面列出的第一條規則上方有另一條規則,它將匹配那條規則並且永遠不會達到你想要的規則。 – melwil

+0

沒有。即使刪除所有其他規則,我也會得到相同的結果 – andlin

+0

@andlin它可以通過瀏覽器進行緩存。你有沒有嘗試清除緩存,或嘗試在另一個? – vmeln

回答

1

因爲內容negociation是您的服務器上啓用(合併到這裏PATH_INFO功能)?如果是這種情況,那麼在閱讀重寫規則之前,內容重疊會自動「重寫」getbars/*到getbars.php。

=>您可以嘗試在你的.htaccess添加Options -MultiViews

+0

解決了它。謝謝! – andlin