从 url laravel 5.4 中删除公共
Posted
技术标签:
【中文标题】从 url laravel 5.4 中删除公共【英文标题】:Remove public from url laravel 5.4 【发布时间】:2019-03-30 22:30:02 【问题描述】:我正在开发 laravel 5.4 项目并想从 url 中删除 public。现在我的 url 是 localhost/project_name/public/login。 请建议我从 url 中删除 public。
【问题讨论】:
【参考方案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
【讨论】:
我的声望少于 15 个,已投票但未公开。谢谢 非常感谢...我已经修补了大约 8 个小时,遵循不同的 tuts。您的解决方案是第一个,完全按我的意愿工作!【参考方案2】:在您的根目录中创建一个新的 .htaccess 文件并粘贴以下代码。
选项 - 多视图
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
最佳解决方案之一
【讨论】:
以上是关于从 url laravel 5.4 中删除公共的主要内容,如果未能解决你的问题,请参考以下文章