Подтвердить что ты не робот

Что такое Options + FollowSymLinks?

Я использую сервер Lamp на своем компьютере. Я начал использовать Laravel php framework. В моем .htaccess, если я использую Options + FollowSymLinks, я получаю 500 ошибок. И если я прокомментирую, я должен использовать index.php в моих всех адресах. Пример:

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

Я использую Arch Linux. Есть ли способ решить эту проблему?

edit: Я решил это с помощью виртуальных хостов. И удаление index.php из приложения /config/application.php в папке laravel.

4b9b3361

Ответ 1

Вы можете попробовать выполнить поиск в Интернете для ".htaccess Options не разрешено здесь".

Предложение, которое я нашел (с помощью google):

Убедитесь, что ваш файл 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>

Надеюсь, это поможет вам. В противном случае вы можете задать вопрос на форуме Laravel (http://forums.laravel.com/), там есть действительно полезные люди, которые там висят.

Ответ 2

Как сервер знает, что он должен вытащить image.png из папки /pictures при посещении веб-сайта и перейти в папку /system/files/images в вашем веб-браузере? Так называемая символическая ссылка - это тот, кто несет ответственность за это поведение. Где-то в вашей системе есть символическая ссылка, которая сообщает вашему серверу "Если посетитель запрашивает /system/files/images/image.png, тогда покажите ему /pictures/image.png."

А какова роль параметра FollowSymLinks в этом?

FollowSymLinks относится к безопасности сервера. При работе с веб-серверами вы не можете просто оставить вещи undefined. Вы должны сказать, кто имеет доступ к чему. Параметр FollowSymLinks сообщает серверу, следует ли ему следовать или не следовать символическим ссылкам. Другими словами, если в нашем случае отключена функция FollowSymLinks, просмотр файла /system/files/images/image.png будет возвращаться в зависимости от других параметров либо 403 (доступ запрещен), либо 404 (не найден).

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

Ответ 3

Параметр Options FollowSymLinks позволяет вам иметь символическую ссылку на веб-сайте, указывающую на другой файл/каталог. При этом отключается, Apache откажется следовать такой символической ссылке. Вместо этого можно использовать более безопасный Options SymLinksIfOwnerMatch - это позволит вам ссылаться только на другие ваши файлы.

Если вы используете директиву Options в .htaccess с параметром, который был запрещен в основной конфигурации Apache, сервер вернет код ошибки HTTP 500.

Разрешенные параметры .htaccess определяются директивой AllowOverride в главном файле конфигурации Apache. Чтобы разрешить символические ссылки, для этой директивы необходимо установить значение All или Options.

Помимо использования символических ссылок, эта директива также необходима для включения mod_rewrite в .htaccess. Но для этого также может использоваться более безопасная опция SymLinksIfOwnerMatch.