.htaccess代码,这个例子很好的编码习惯吗?
问题描述:
既然我的脚已经被.htaccess弄湿了,我还有一个新问题。在很多教程我已经收藏之一,笔者建议把这段代码在.htaccess文件的开头:.htaccess代码,这个例子很好的编码习惯吗?
AddDefaultCharset UTF-8
RewriteEngine On
RewriteBase/
我可以理解,避免与第一行解析问题的问题,还等什么我想知道的是,除了RewriteEngine On
还有其他两种线路是好的做法还是只是增加了膨胀?
非常感谢!
答
RewriteBase /
行有时用于解析目标中的相对URI和/或RewriteRule
的模式。例如,如果一个htaccess文件是在/foo
目录,你有可能看起来像这样的规则:
RewriteEngine On
RewriteBase /foo/
RewriteRule ^bar$ index.php?bar [L]
这里,规则的目标index.php?bar
是一个相对的URI和基地被前面加上,导致URI:/foo/index.php?bar
。当规则的目标是相对的时候,apache会猜测URI是一个文件路径还是一个URL路径,并且它并不总是正确猜测。通过RewriteBase /foo/
,apache知道/foo/index.php
是一个URL路径。可能有重写基地与它所在的文件夹不匹配的情况,但结果仍然相同。它充当规则中相对URI的URI基础。
在没有伤害的情况下,除非出于某种原因,您希望某些相对URI实际映射到文件路径。
的AddDefaultCharset
指令并不适用于该字符集的htaccess文件中,它是Web服务器给予请求时,该请求内容text/html
类型或text/plain
的响应的一部分。再说一次,除非你是文本或html内容,其实其他编码(例如* shift_jis *),否则不会伤害你的htaccess文件。
非常感谢!所有的好消息,我想代表该教程作者代表这是一个编码偏好。优秀! – mileaminute 2013-04-09 01:04:44