What is Options +FollowSymLinks?


What is Options +FollowSymLinks?

我在电脑上使用Lamp服务器。我开始使用Laravel-php框架。在我的.htaccess中,如果我使用Options +FollowSymLinks,我会得到500个错误。如果我不评论,我必须在我的所有地址中使用index.php。。示例:

 /~ytsejam/blog/public/index.php/login

我使用的是Arch Linux。有办法解决吗?

edit:我通过使用虚拟主机解决了这个问题。并删除laravel文件夹中的index.php from application/config/application.php

您可以尝试在互联网上搜索"此处不允许.htaccess选项"。

我发现(使用谷歌)的一个建议是:

检查以确保httpd.conf文件具有AllowOverride All。

在Mint Linux上为我工作的.htaccess文件(放在Laravel/public文件夹中):

# Apache configuration file
# http://httpd.apache.org/docs/2.2/mod/quickreference.html
# Turning on the rewrite engine is necessary for the following rules and
# features. "+FollowSymLinks" must be enabled for this to work symbolically.
<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
</IfModule>
# For all files not found in the file system, reroute the request to the
# "index.php" front controller, keeping the query string intact
<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

希望这对你有帮助。否则你可以在Laravel论坛上提问(http://forums.laravel.com/),那里有一些非常乐于助人的人。

参数Options FollowSymLinks使您能够在webroot中有一个指向其他文件/dir的符号链接。禁用此项后,Apache将拒绝遵循这样的符号链接。可以使用更安全的Options SymLinksIfOwnerMatch,这将允许您只链接到您拥有的其他文件。

若您在.htaccess中使用Options指令和Apache主配置中禁止的参数,服务器将返回HTTP 500错误代码。

允许的.htaccess选项由Apache主配置文件中的指令AllowOverride定义。要允许符号链接,需要将该指令设置为AllOptions

除了允许使用符号链接外,还需要此指令在.htaccess上下文中启用mod_rewrite。但为此,也可以使用更安全的SymLinksIfOwnerMatch选项。

当您访问网站并浏览到web浏览器中的/system/files/images文件夹时,服务器如何知道它应该从/pictures文件夹中提取image.png?所谓的象征性联系是指对这种行为负责的人。在您的系统中,有一个符号链接告诉您的服务器"如果访问者请求/system/files/images/image.png,则向他显示/images/images.png。"

FollowSymLinks设置在其中的作用是什么?

FollowSymLinks与服务器安全性有关。在处理web服务器时,不能只保留未定义的内容。你必须告诉谁可以访问什么。FollowSymLinks设置告诉服务器是否应遵循符号链接。换句话说,如果FollowSymLinks在我们的案例中被禁用,浏览到/system/files/images/png文件将根据其他设置返回403(禁止访问)或404(找不到)错误。

http://www.maxi-pedia.com/FollowSymLinks