.htaccess文件首行options +followsymlinks作用

上网查了一下“在 某些服务器配置中,mod_rewrite要求有followsymlinks,否则会显示500内部服务器错误。

[In some (or all?) server configurations, mod_rewrite requires followsymlinks to be enabled, or it will crater with a 500-Server Error.]

在任何情况下,只要您没有指定FollowSymLinks的选项(即Options FollowSymLinks),或者指定了 SymLinksIfOwnerMatch选项,Apache将不得不调用额外的系统函数来检查符号链接。每次针对文件名的请求都将触发一次检查。

如果你没有使用followsymlinks规则而网站访问正常,说明你的服务器配置已经默认调用followsymlinks的重写规则,你无需 再为你的htaccess文件定义了。但在有些服务器500 Server Error之后的错误日志中提示需要定义SymLinks使得rewrite重写规则起作用。

If your mod_rewrite code works without the options +followsymlinks directive, that means that your server configuration file has enabled them already, and you won’t need that directive in your .htaccess files.

The requirement for enabling followsymlinks is not well-defined. The only way I learned about it was because I got a 500-Server Error the first time I ever enabled mod_rewrite, and the error log entry said something to the effect of, “You must enable SymLinks for this to work.”

另一个问题是 RewriteBase / 注释到底起什么作用,去掉了,伪静态照样有效。

RewriteBase / 是设置了重写的基准为该域名的根目录,写了这个的话,RewriteRule . index.php 就可以了;但是没写的话,就要多一个斜杠了RewriteRule . /index.php

原文地址:https://www.cnblogs.com/cnsec/p/11515931.html