从URL Laravel 5.4移除public

时间:2018-10-26 07:56:26

标签: laravel-5.4

我正在研究laravel 5.4项目,想从url中删除public。现在我的url是localhost / project_name / public / login。 请建议我从网址中删除public。

2 个答案:

答案 0 :(得分:1)

第1步:重命名文件

第一步非常简单,您只需重命名文件名即可。您必须在laravel根目录下将server.php重命名为index.php。

server.php

INTO

index.php

第2步:更新.htaccess

首先,您必须复制.htaccess文件并将其放入laravel根文件夹。您只需从公用文件夹中复制.htaccess文件,然后更新以下代码:

.htaccess

Options -MultiViews -Indexes



RewriteEngine On



# Handle Authorization Header

RewriteCond %{HTTP:Authorization} .

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]



# Redirect Trailing Slashes If Not A Folder...

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} (.+)/$

RewriteRule ^ %1 [L,R=301]



# Handle Front Controller...

RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [L]



RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !^/public/

RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]

文档:https://hdtuto.com/article/laravel-remove-public-from-url-using-htaccess

答案 1 :(得分:0)

在您的根目录中创建一个新的.htaccess文件,然后粘贴以下代码。

             选项-MultiViews     

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]

RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php

最佳解决方案之一