Htaccess以某種方式自動剔除網址末尾的所有尾部斜槓並僅保留一個。Htaccess重寫刪除尾部斜槓
例如http://localhost/api/param1///成爲http://localhost/api/param1/
能否請你告訴我,爲什麼出現這種情況,如何擺脫呢? (。*)應該匹配一切正確嗎?但事實並非如此。就像我說的,如果我去http://localhost/api/param1///$_GET['url']
應該是param1///
但它是param1/
。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
的'-d'&'-f'改寫爲目錄和文件的位置。 'param1 /'可以是一個目錄,'param1 ///'不能是一個目錄。 – Randy
嗯,所以你說這是不可能的?現在我正在使用$ _SERVER [「REQUEST_URI」]變量,它完成這項工作,但我想知道是否有更好的解決方案。 – miXo
雖然你可以在'RewriteCond'指令中使用'REQUEST_URI'變量來解決.htaccess中的問題,PHP中使用'$ _SERVER ['REQUEST_URI']'超全局(如你所做的)可以說是一樣的好更好) - 也許取決於你的情況。 – MrWhite