【发布时间】:2016-08-23 21:37:58
【问题描述】:
当 Laravel 安装在非根域的文件夹中时,我无法访问我的路由 (404)。
例如,如果我在根域中安装 Laravel 并添加路由anyroutes,我可以毫无问题地访问localhost/anyroutes。
但是
如果我将 Laravel 安装在 localhost/project/ 之类的文件夹中并添加该路由:localhost/project/public/anyroutes 它会给我 404。我不得不提一下 localhost/project/public/index.php/anyroutes 会起作用。
我在早期版本的 Laravel 中没有这个问题。
我该如何解决这个问题?
Apache (XAMPP)、PHP 7、mod_rewrite 已启用并且...
更新:
.htaccess文件:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
apache 配置:
<Directory />
Allowoverride All
# AllowOverride none
Require all denied
</Directory>
DocumentRoot "E:/projects"
<Directory "E:/projects">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
【问题讨论】:
-
你检查你的目录是否有正确的权限?
-
@imrealashu 是的,没关系。你有这个问题还是只有我一个人有这个问题?
-
是的,我拥有它,但我更改了权限级别并且它起作用了。您使用的是哪个操作系统? windows、unix还是linux?
-
@imrealashu Windows。在 Windows 中,我们通常不会遇到权限问题 ..
-
是的。你确定你在安装后完成了
composer update或composer install吗?
标签: php apache laravel xampp laravel-5.2