apache預設情況下,網頁目錄的最後必須加入斜槓「/",比如
可以瀏覽但是不能瀏覽就是說瀏覽目錄時最後必須加/ 改一下設定檔案,在httpd.conf裡,找到
usecanonicalname on
把on修改為off就可:
usecanonicalname off
就可以了
當然也可用mod_rewrite來解決,首先要確認你的apache裡已經安裝了這module,且你的httpd.conf裡起用了rewrite,才可以呼叫.htaccess
# this controls which options the .htaccess files in directories can
# override. can also be "all", or any combination of "options", "fileinfo",
# "authconfig", and "limit"
# allowoverride all
當向伺服器請求的是
而不是/時
,伺服器就會去查詢乙個叫faq的檔案,而實際上faq是目錄,所以就會報錯,無法自動跳轉。
解決方法:
在documentroot下,建立.htaccess檔案,寫進如下內容:
rewriteengine on
rewritecond % -d
rewriterule ^(.+[^/])$ [r=301]
這樣,伺服器就會自動新增字尾斜槓,實現自動跳轉。
apache中errordocument檔案的設定問題
在httpd.conf中設定 errordocument 404 /missing.html
但其中的內容死活不能用,原來是ie的乙個bug,錯誤檔案需要大於512位元組才能正常被顯示。
教訓:
1.手冊是好東西,一定要細心去看。
2.很多情況下應該換個角度去思考問題。在本例中,把ie中的 "show friendly http error messages"(ie裡設定「顯示友好的http錯誤資訊)開啟後,就一切迎刃而解了。
使訪問http的轉向到https
apache的斜槓問題
apache預設情況下,網頁目錄的最後必須加入斜槓 比如 可以瀏覽但是不能瀏覽就是說瀏覽目錄時最後必須加 改一下設定檔案,在httpd.conf裡,找到 usecanonicalname on 把on修改為off就可 usecanonicalname off 就可以了 當然也可用mod rewrit...
關於檔案路徑的反斜槓正斜槓和雙斜槓問題
1 c檔案路徑為什麼要用雙斜槓 因為 在 c c c 中是轉義前導字元,例如 n 代表換行。如果路徑中剛好有類似轉義字元開頭的,那麼就會引起問題,所以路徑中的 必須用 的形式。2 windows的路徑中表示檔案層級為什麼會用反斜槓 而unix系統都用斜槓 windows 用反斜槓 的歷史來自 dos...
路徑分隔符 斜槓 與反斜槓 的問題
先總結 斜槓 常用 只有在指向windows本地檔案時可以使用反斜槓 路徑中使用斜槓 和反斜槓 的區別到底是什麼?事實上是只有windows系統中用 正常的專案開發,url,linux中都常用。傳統上unix使用斜桿 作為路徑分隔符,而web應用最先使用在unix系統上面,所以目前所有的網路位址都採...