Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Я перешел с виныд на линукс (kubuntu), и решил самостоятельно сконфигурировать сервер.
Сервер я настроил вот такой конфигруарцией
<VirtualHost *:80>
ServerName my.dev
ServerAlias www.my.dev
DocumentRoot /home/volk/web/my.dev/public
ServerAdmin me@localhost
<Directory "/home/volk/web/my.dev">
Require all granted
Options +Indexes
</Directory>
</VirtualHost>
И когда я захожу в корень сайта то всё работает.
Но когда я иду по любым другим путям (в независимости указанны они в routes.php или нет), мне выдается 404 ошибка. Не ларавельевская страница NotFoundHttpException, а именно простая апачевксая 404 ошибка.
Полазив по гуглу я понял что это проблема в .htaccess
То-есть если в пути написано Route::get('tasks/', 'TasksController@index');
То такой путь срабатывает по адресу http://my.dev/index.php/tasks
.htaccess который лежит в public выглядеть вот так (таким его создал laravel.phar)
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
так же я пробовал заменять его на вот этот (найден вот тут )
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
но все равно ничего не поменялось
я даже права 777 на него выставил (на всякий случай)
Модуль rewrite я, кажется, подключил (изначально он не был включен, и я самостоятельно создал символьную ссылку)
volk@sivadra:/etc/apache2/mods-enabled$ ls -Fal | grep "rewrite"
lrwxrwxrwx 1 root root 30 июля 26 16:28 rewrite.load -> ../mods-available/rewrite.load
Хотя, когда я делаю apache2ctl -l у меня вылезает
volk@sivadra:/etc/apache2/mods-enabled$ apache2ctl -l
Compiled in modules:
core.c
mod_so.c
mod_watchdog.c
http_core.c
mod_log_config.c
mod_logio.c
mod_version.c
mod_unixd.c
volk@sivadra:/etc/apache2/mods-enabled$
то-есть в этом списки модуля rewrite нет, что вызывает сомнения в подключенности этого модуля.
Подскажите, дело в том что модуль rewrite не подключился? Или в я что-то с конфигурацией сервера напутал?
И как это вылечить? Спасибо.
Не в сети
Всё я понял в чем дело
нужно было сделать
<VirtualHost *:80>
ServerName my.dev
ServerAlias www.my.dev
DocumentRoot /home/volk/web/my.dev/public
ServerAdmin me@localhost
<Directory "/home/volk/web/my.dev">
Require all granted
Options +Indexes
AllowOverride All
</Directory>
</VirtualHost>
добавить AllowOverride All
Не в сети
Страницы 1