Laravel5.5去除URL中的index.php生成優雅連接

在使用Apache狀況下:php

Laravel 框架經過 public/.htaccess 文件來讓網址中不須要 index.php。若是你的服務器是使用 Apache ,請確認是否有開啓 mod_rewrite 模塊。laravel

假設 Laravel 附帶的 .htaccess 文件在 Apache 沒法生效的話,請嘗試下面的方法:web

<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.apache

內容引用自:https://docs.golaravel.com/docs/5.0/configuration/#pretty-urls服務器

下面說下按照上面修改還沒成功的話, 有可能的緣由框架

1.  apache 沒有開啓 LoadModule rewrite_moduleide

找到httpd.conf文件裏面的 LoadModule rewrite_module 去掉前面的#. 重啓apacheurl

2.  開啓LoadModule rewrite_module後, 還須要讓apache服務器支持.htaccess.net

修改一下apache的httpd.conf,blog

查找

Options FollowSymLinks

AllowOverride None

 改成

Options FollowSymLinks

AllowOverride All

最後重啓apache

相關文章
相關標籤/搜索