无法理解一些Apache .htaccess指令

时间:2014-07-30 14:52:36

标签: php apache .htaccess phpbb

我安装了一个名为phpBB的论坛软件。在它的服务器配置文件中,.htaccess我看到以下内容:

#
# Uncomment the statement below if you want to make use of
# HTTP authentication and it does not already work.
# This could be required if you are for example using PHP via Apache CGI.
#
# RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

然后这个:

#
# If symbolic links are not already being followed,
# uncomment the line below.
# http://anothersysadmin.wordpress.com/2008/06/10/mod_rewrite-forbidden-403-with-apache-228/
#
# Options +FollowSymLinks

因此,对于第一段代码,我查找了我的phpinfo();,它说我的服务器API是CGI/FastCGI,PHP版本5.5.15。我相信这是评论意味着什么?那么我应该使用注释代码以及它做了什么呢?

其次我的根目录.htaccess文件中没有Options +FollowSymLinks因为我需要了解它的作用,也许我现在就谷歌吧......

提前致谢 - 任何想法?

1 个答案:

答案 0 :(得分:2)

第一条评论指的是 HTTP身份验证。如果您使用HTTP身份验证,则使用HTTP协议机制进行身份验证,而不是使用PHP之类的表单。这意味着,如果 使用HTTP auth ,您使用的是PHP,并希望您的PHP脚本能够识别某人已使用HTTP机制成功进行身份验证,那么取消注释该行

具体来说,RewriteRule行获取HTTP请求的授权头,并将其存储在名为“HTTP_AUTHORIZATION”的环境变量中。这允许脚本(如php)访问授权信息,并解析用户名和/或密码。

您的浏览器最容易注意到HTTP身份验证之间的差异,在中弹出一个窗口,询问用户名和密码(可能是“Realm”)而不是Web表单您正在查看的网页内容

第二条评论基于您所服务的文件。如果您提供的文件没有符号链接(这有点像Windows中的“快捷方式”,但在更基本的级别)。如果你不知道什么是符号链接,你可能不会关心这个。