什么是选项+关注符号链接?

2022-08-30 12:06:22

我正在使用计算机上的 Lamp 服务器。我开始使用Laravel php框架。在我的.htaccess中,如果我使用,我得到500错误。如果我注释掉,我必须在我的所有地址中使用.例:Options +FollowSymLinksindex.php

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

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

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


答案 1

您可以尝试在互联网上搜索“此处不允许使用.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/),那里有一些非常有帮助的人。


答案 2

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

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

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

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


推荐