Я использую структуру Laravel-5 и создал следующий маршрут в route/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 [email protected]
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>
Есть идеи, что я пропустил?
Спасибо
AllowOverride All
внутрь<Directory "s:/_dev/myapp/public">
в конфигурации httpd-vhost? Не забудьте перезагрузить сервер. - person Teguh Suryo Santoso   schedule 19.11.2018