yts*_*jam 28 linux apache lamp laravel
我正在使用计算机上的Lamp服务器.我开始使用Laravel php框架.在我的.htaccess中,如果我使用Options + FollowSymLinks,我会得到500错误.如果我注释掉,我必须在我的所有地址中使用index.php ..example:
/~ytsejam/blog/public/index.php/login
我使用Arch Linux.有办法解决吗?
编辑:我通过使用虚拟主机解决了这个问题.并从laravel文件夹中的application/config/application.php中删除index.php.
Hen*_*Jan 14
您可以尝试在互联网上搜索".htaccess选项不允许此处".
我发现(使用谷歌)的建议是:
检查以确保您的httpd.conf文件具有AllowOverride All.
一个.htaccess文件,适用于Mint Linux(放在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>
Run Code Online (Sandbox Code Playgroud)
希望这对你有所帮助.否则你可以在Laravel论坛(http://forums.laravel.com/)上提问,有一些非常有帮助的人在那里闲逛.
当您访问网站并在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
参数Options FollowSymLinks
使您可以在Webroot中有一个指向其他文件/目录的符号链接。禁用此选项后,Apache将拒绝遵循此类符号链接。Options SymLinksIfOwnerMatch
可以改用更安全-这将使您仅链接到您拥有的其他文件。
如果您在Apache主配置中禁止使用带有参数的Options
指令.htaccess
,则服务器将返回HTTP 500错误代码。
允许的.htaccess
选项由AllowOverride
主Apache配置文件中的指令定义。要允许符号链接,需要将该指令设置为All
或Options
。
除了允许使用符号链接之外,还需要此指令来在上下文中启用mod_rewrite.htaccess
。但是为此,也SymLinksIfOwnerMatch
可以使用更安全的选项。