如何重定向到laravel上的公共文件夹

Posted

技术标签:

【中文标题】如何重定向到laravel上的公共文件夹【英文标题】:How to redirect to public folder on laravel 【发布时间】:2015-07-01 23:59:19 【问题描述】:

我有这个结构:

我的域名:www.example.com

这是我 laravel 的项目文件夹:http://www.example.com/project

我想重定向到http://www.example.com/project/public

我知道这个答案之前已经回答过,但我尝试实施它但对我不起作用。

对不起我的英语,我只会说西班牙语

【问题讨论】:

你使用的是 nginx 还是 apache? 【参考方案1】:

对于htaccess

RewriteEngine on
RewriteCond %HTTP_HOST ^example.com$ [NC,OR]
RewriteCond %HTTP_HOST ^www.example.com$
RewriteCond %REQUEST_URI !project/public/
RewriteRule (.*) /project/public/$1 [L]

将其放入您的 public_html/ 或 www/ 文件夹中,其中 example.com/ 的根目录

【讨论】:

不知何故这不适用于 localhost 作为 URL。 (第三行是我认为的问题,不知道为什么) 正如@BenFransen 上面所说,这在本地主机中对我不起作用。刚刚更改为 dev linux 机器主机名,现在可以正常工作了。【参考方案2】:

将 /server.php 重命名为 index.php

【讨论】:

这可行,但您必须编辑 CSS 和 JS 文件的所有路径。不如 .htaccess 解决方案实用。【参考方案3】:

我创建了这个php脚本,放在laravel目录的根目录下:

$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; header("位置:" . $actual_link . "public/index.php");

【讨论】:

以上是关于如何重定向到laravel上的公共文件夹的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 4 中将一个路由重定向到 HTTPS,将所有其他路由重定向到 HTTP?

Laravel 5 - 发布路由上的 htaccess HTTPS 重定向不起作用。

Laravel 重定向离开方法重定向到自己的域

你如何将所有请求重定向到 laravel 5 中的 public/ 文件夹

Beyondcode\laravel-websockets 它正在重定向到 wss 而不是 localhost 上的 ws

如何将客人重定向到登录页面,在laravel 5.2登录后重定向回来[关闭]