【发布时间】:2018-02-03 11:26:11
【问题描述】:
这是我遇到问题的我的 Laravel-5.4 代码。我创建了测试 laravel 项目,其中包含 home 和 关于我们 两个页面,并使用 Apache v-host(www.test.com)
映射了文件路径
当我点击 www.test.com 时,它会正确加载到索引页面,但是当我尝试点击 www.test.com/about em> 它显示 404 错误。但是当我点击这个 url www.test.com/index.php/about 页面加载正确
我不知道它的问题出在我的代码或 Apache 配置或任何其他方面
控制者:
public function index(){
return view('pages.index');
}
public function about(){
return view('pages.about');
}
路线:
// Home Page
Route::get('/','pagesController@index');
// About Us Page
Route::get('/about','pagesController@about');
Apache 配置:
ServerAdmin webmaster@localhost
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/html/test/public/
.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>
【问题讨论】:
-
可以分享
public目录下的.htaccess文件吗? -
@BagusTesa my .htaccess
Options -MultiViews RewriteEngine On # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # 处理前端控制器... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L ] # 处理授权标头 RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] -
请将其添加到您的问题中..
-
@HarishKarthick :请使用此详细信息编辑您的问题! (即 .htaccess)
-
@BenjaminBrasseur 好的
标签: php apache laravel web laravel-5