Я использую фреймворк Laravel-5 и создал следующий маршрут в маршрутах / web.php:
Route::get('/test', function () {
return view('test');
});
После перехода к myapp.dev/test
я получаю сообщение об ошибке 404:
Объект не найден! Запрашиваемый URL не найден на этом сервере. Если вы ввели URL-адрес вручную, проверьте правильность написания и повторите попытку.
Навигация по myapp.dev/index.php/test
работает нормально. Итак, похоже, что rewrite_mod не работает.
Я использую XAMP / Apache, и rewrite_module включен в httpd.conf :
LoadModule rewrite_module modules/mod_rewrite.so
Общая папка моего larvavel содержит файл .htaccess со следующим содержанием:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
#DirectoryIndex index.php
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Конфигурация httpd-vhost выглядит следующим образом:
<VirtualHost *:80>
ServerAdmin my@mail.com
DocumentRoot "s:/_dev/myapp/public"
ServerName myapp.dev
<Directory "s:/_dev/myapp/public">
Allow from all
Require all granted
#Options Indexes
</Directory>
ErrorLog "logs/myapp.dev-error.log"
CustomLog "logs/myapp.dev-access.log" common
</VirtualHost>
Есть идеи, что я пропустил?
Спасибо