apache的斜杠问题
APACHE默認情況下,網頁目錄的最后必須加入斜杠“/",比如
可以瀏覽http://www.example.com/abc/,但是不能瀏覽http://www.example.com/abc,就是說瀏覽目錄時最后必須加/ 改一下設置文件,在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
當向服務器請求的是
http://www.example.com/faq而不是http://www.example.com/faq/時
,服務器就會去查找一個叫faq的文件,而實際上faq是目錄,所以就會報錯,無法自動跳轉。
解決方法:
編輯用戶網站主目錄下的.htaccess文件:
在DocumentRoot下,建立.htaccess文件,寫進如下內容:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ http://www.example.com/$1/ [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
RewriteEngine On
# For webmail
RewriteCond %{HTTP_HOST} ^webmail\.lwkp\.com\.cn
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{SERVER_PORT} ^80$
RewriteRule (.*) https://www.xxx.com[L,R]
# For IP
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^xx\.xx\.xxx9\.[1-9]*$
RewriteRule (.*) https://%{HTTP_HOST}/
轉載于:https://www.cnblogs.com/baogg/articles/2090805.html
總結
以上是生活随笔為你收集整理的apache的斜杠问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS通用窗口拖动函数
- 下一篇: 关于selecteditem.value