什么是选项+ FollowSymLinks?

问题描述 投票:28回答:3

我正在计算机上使用Lamp服务器。我开始使用Laravel php框架。在我的.htaccess文件中,如果我使用Options +FollowSymLinks,则会收到500错误。如果我将其注释掉,则必须在我的所有地址中使用index.php ..example:

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

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

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

php linux laravel apache lamp
3个回答
14
投票

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

我发现(使用Google)的建议是:

检查以确保您的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/)上提问,那里有很多非常有用的人。


5
投票

[当您访问网站并在Web浏览器中浏览到/ system / files / images文件夹时,服务器如何知道应从/ pictures文件夹中提取image.png?所谓的符号链接是负责此行为的人。在系统中的某个位置,有一个符号链接告诉服务器“如果访问者请求/system/files/images/image.png,然后向他显示/pictures/image.png。”

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

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

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


5
投票

参数Options FollowSymLinks使您可以在Webroot中拥有一个指向其他文件/目录的symlink。禁用此选项后,Apache将拒绝遵循此类符号链接。可以改为使用更安全的Options SymLinksIfOwnerMatch-这将使您仅可以链接到自己拥有的其他文件。

如果您在Options中将.htaccess指令与主要Apache配置中禁止的参数一起使用,则服务器将返回HTTP 500错误代码。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.