Apache “拉雷维尔”;子文件夹";或者超出根目录的页面会产生404错误
我希望能够从Laravel环境中生成“子文件夹”页面。所谓“子文件夹”,我指的是本地URL localhost/子页面中的子页面 我使用的是Ubuntu 15.04、Apache 2.4.10和Laravel 5.1 文档根页面(在我的虚拟主机站点laravel.dev上)工作,并在路径“/”处生成预期的laravel页面。对超出文档根(laravel.dev/test)的路径的任何调用都会产生404错误 在路径(laravel.dev/index.php/test)中包含“index.php/”将生成预期的laravel页面。下面提到的stackoverflow问题表明,该问题因此可能与etc/apache2/apache2.conf指令或.htaccess指令有关 etc/apache2/apache2.conf的相关部分是Apache “拉雷维尔”;子文件夹";或者超出根目录的页面会产生404错误,apache,laravel,Apache,Laravel,我希望能够从Laravel环境中生成“子文件夹”页面。所谓“子文件夹”,我指的是本地URL localhost/子页面中的子页面 我使用的是Ubuntu 15.04、Apache 2.4.10和Laravel 5.1 文档根页面(在我的虚拟主机站点laravel.dev上)工作,并在路径“/”处生成预期的laravel页面。对超出文档根(laravel.dev/test)的路径的任何调用都会产生404错误 在路径(laravel.dev/index.php/test)中包含“index.php/
<Directory /home/me/Laravel/public/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
选项索引跟随符号链接
允许超越所有
要求所有授权
我将allowOverride从None更改为All,希望这样可以执行主Laravel.htaccess文件,并且实际上可以将index.php文件合并到路径中
为启用虚拟主机而创建的虚拟主机文件的相关部分是
<Directory "/home/me/Laravel/public/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
选项索引跟随符号链接多视图
允许超越所有
要求所有授权
主Laravel.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]
</IfModule>
选项-多视图
重新启动发动机
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
此.htaccess文件在Laravel安装中未被触及
正如在对这个stackoverflow问题的回答中所建议的,my.htaccess文件中的RewriteRule没有前面的正斜杠
请显示您的
routes.php
文件//works Route::get('/','WelcomeController@index'); // 404错误路由::获取('test','Auth\AuthController@test'); // 404错误路由::get('foo/bar',函数(){return'Hello World';});解决这个问题如stackoverflow问题中所述,需要在apache sudo a2enmod rewrite中启用mod rewrite,然后apache停止并重新启动