apache的斜杠问题

来源:互联网 发布:java实现聊天室功能 编辑:程序博客网 时间:2024/04/29 12:06
  1. APACHE默认情况下,网页目录的最后必须加入斜杠“/",比如  
  2.   
  3. 可以浏览http://www.example.com/abc/,但是不能浏览http://www.example.com/abc,就是说浏览目录时最后必须加/ 改一下设置文件,在httpd.conf里,找到  
  4.   
  5. UseCanonicalName On  
  6.   
  7. 把On修改为Off就可:  
  8. UseCanonicalName Off  
  9. 就可以了  
  10.   
  11. 当然也可用mod_rewrite来解决,首先要确认你的apache里已经安装了这module,且你的httpd.conf里起用了rewrite,才可以调用.htaccess  
  12.   
  13. # This controls which options the .htaccess files in directories can  
  14. # override. Can also be "All", or any combination of "Options", "FileInfo",  
  15. # "AuthConfig", and "Limit"  
  16. #  
  17.     AllowOverride all  
  18.   
  19. 当向服务器请求的是  
  20. http://www.example.com/faq而不是http://www.example.com/faq/时  
  21. ,服务器就会去查找一个叫faq的文件,而实际上faq是目录,所以就会报错,无法自动跳转。  
  22.   
  23. 解决方法:  
  24.   
  25. 编辑用户网站主目录下的.htaccess文件:  
  26. 在DocumentRoot下,建立.htaccess文件,写进如下内容:  
  27. RewriteEngine on  
  28. RewriteCond %{REQUEST_FILENAME} -d  
  29. RewriteRule ^(.+[^/])$ http://www.example.com/$1/ [R=301]  
  30.   
  31. 这样,服务器就会自动添加后缀斜杠,实现自动跳转。  
  32.   
  33. Apache中ErrorDocument文件的设置问题  
  34. 在httpd.conf中设置 ErrorDocument 404 /missing.html   
  35. 但其中的内容死活不能用,原来是IE的一个BUG,错误文件需要大于512字节才能正常被显示。  
  36. 教训:   
  37. 1.手册是好东西,一定要细心去看。   
  38. 2.很多情况下应该换个角度去思考问题。在本例中,把IE中的 "Show Friendly HTTP Error Messages"(ie里设置“显示友好的http错误信息)打开后,就一切迎刃而解了。  
  39.   
  40. 使访问http的转向到https  
  41.   
  42. RewriteEngine On  
  43. # For webmail  
  44. RewriteCond %{HTTP_HOST} ^webmail\.lwkp\.com\.cn  
  45. RewriteCond %{HTTP_HOST} !^$  
  46. RewriteCond %{SERVER_PORT} ^80$  
  47. RewriteRule (.*) https://www.xxx.com[L,R]  
  48.   
  49. # For IP  
  50. RewriteCond %{SERVER_PORT} ^80$  
  51. RewriteCond %{HTTP_HOST} ^xx\.xx\.xxx9\.[1-9]*$  
  52. RewriteRule (.*) https://%{HTTP_HOST}/  
原创粉丝点击