技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

Apache URL重定向避免網(wǎng)址結(jié)尾斜線問題

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-10-31 12:09┆點(diǎn)擊:

  每個(gè)網(wǎng)主都曾受到結(jié)尾斜線問題的折磨,若在URL中沒有結(jié)尾斜線,服務(wù)器就會(huì)認(rèn)為URL無效并返回錯(cuò)誤,因?yàn)榉?wù)器會(huì)根據(jù)/~quux/foo去尋找foo這個(gè)檔案,而非顯示這個(gè)目錄。其實(shí)很多時(shí)候,這問題應(yīng)留待用戶自己加「/」去解決,但是用戶會(huì)直接輸入網(wǎng)址。 這樣就會(huì)產(chǎn)生一個(gè)301重定向的請求。然后再次尋找到/index.html下。

  方法:

  最直觀的方法就是令A(yù)pache自動(dòng)加上「/」,使用外部重定向令瀏覽器能正確找到檔案,若我們只做內(nèi)部重定向,就只能正確顯示目錄頁,在這目錄頁的圖像文件會(huì)因相對URL的問題而找不到。例如我們請求/~quux/foo/index.html的image.gif時(shí),重定向后會(huì)變成/~quux/image.gif。

  所以我們應(yīng)使用以下方法:

  RewriteEngine on

  RewriteBase /~quux/

  RewriteRule ^foo$ foo/ [R]

  這方法也適用于.htaccess文件在各目錄內(nèi)設(shè)定,但這設(shè)定會(huì)覆蓋原先主配置文件。

  RewriteEngine on

  RewriteBase /~quux/

  RewriteCond %{REQUEST_FILENAME} -d

  RewriteRule ^(.+[^/])___FCKpd___17nbsp; $1/ [R]