在使用Apache情况下:
Laravel 框架通过 public/.htaccess 文件来让网址中不需要 index.php。如果你的服务器是使用 Apache ,请确认是否有开启 mod_rewrite 模块。
假设 Laravel 附带的 .htaccess 文件在 Apache 无法生效的话,请尝试下面的方法:
<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>
If your web host doesn't allow the FollowSymlinks option, try replacing it with Options +SymLinksIfOwnerMatch.
内容引用自:https://docs.golaravel.com/docs/5.0/configuration/#pretty-urls
下面说下按照上面修改还没成功的话, 有可能的原因
1. apache 没有开启 LoadModule rewrite_module
找到httpd.conf文件里面的 LoadModule rewrite_module 去掉前面的#. 重启apache
2. 开启LoadModule rewrite_module后, 还需要让apache服务器支持.htaccess
修改一下apache的httpd.conf,
查找
Options FollowSymLinks
AllowOverride None
改为
Options FollowSymLinks
AllowOverride All
最后重启apache
---------------------
作者:cy-chenyue
来源:CSDN
原文:https://blog.csdn.net/helloyuechen/article/details/78948484
版权声明:本文为博主原创文章,转载请附上博文链接!