Laravel 5.1 - 移除方法绑定的 URL 的 "public/"?
Laravel 5.1 - Remove "public/" of the URL whith Method bind?
我需要一些帮助,因为我是 Laravel 和 MVC 的初学者。
我想删除 URL 的 "public/"。
我在 Google 中找到的唯一两个 "solutions" 是:
使用 .htaccess。但是对我来说(显然对我来说不是)它不起作用。
要么将 "public" 文件夹中的内容放在项目 Laravel 的根目录下。出于安全原因,这并不好。
有没有真正的解决办法去掉"public/"URL?例如这个 URL:
localhost/Laravel/public/test
只能通过此URL访问:
localhost/Laravel/test
因为如果没有解决方案,我继续学习这个框架的课程是没有用的。
_我读过,在 AppServiceProvider 中可能有一个解决方案:
http://www.creerwebsite.com/medias/upload/larav2.png
或者在路由器或容器中使用这个:
App::bind('path.public', function() {
return base_path().'/public_html';
});
但是我是初学者,所以我没有找到解决方案。
谢谢。
最好的选择是将 WAMP 的本地安装配置为使用 Laravel 的 public
文件夹作为文档根目录。您在这里有两个选择:
选项 1. 仅针对此项目单独使用 wamp
- 找到您的
httpd.conf
文件。这是服务器配置,应该位于 C:\wamp\bin\apache\Apache2.4.4\conf
。 (最好在编辑前备份此文件)
- 在记事本中打开配置文件,找到行
DocumentRoot "c:/wamp/www"
并更改为 DocumentRoot "c:/wamp/www/public"
(假设您的 laravel 项目在 www 文件夹中)
- 保存
httpd.conf
并重新启动 wamp。
现在,当您访问 http://localhost
时,您应该会看到 Laravel 欢迎屏幕。
选项 2. 设置虚拟主机
此选项有点复杂,但允许您在 wamp 中同时拥有多个网站 运行,每个网站都有自己的子域,您可以使用它们在浏览器中访问它们。
1. 在记事本中打开httpd.conf
文件,找到DocumentRoot "c:/wamp/www"
行。将其更改为 DocumentRoot "c:/wamp/www/default"
.
2. 在此行下方添加以下代码段:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot 'c:/wamp/www'
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName myproject.localhost
DocumentRoot 'c:/wamp/www/myproject/public'
</VirtualHost>
这将在您的本地 ip 上创建两个新的虚拟主机 运行。一个将在域 localhost
上工作并提供 www/default
文件夹中的文件,另一个将在域 myproject.localhost
上工作并提供 www/myproject/public
文件夹中的文件。
在 C:\Windows\System32\drivers\etc
找到您的 hosts
文件并在记事本中打开它。添加以下行:
127.0.0.1 localhost
127.0.0.1 myproject.localhost
这将添加两个域映射,将流量指向您的本地 ip 以供 wamp 处理。
现在导航到 www 文件夹并创建 C:\wamp\www\default
和 C:\wamp\www\myproject
。将您的 laravel 项目移动到 \myproject
文件夹中,确保 public
文件夹也在这里。
终于重新启动 wamp,现在您应该可以访问 http://myproject.localhost 并查看您的 laravel 网站了。
解决方案:
_在他的 Laravel 项目中:重命名 "public" 文件夹,如下所示:"www."
_In An accommodation (example OVH): 删除根目录下的所有内容,包括 "www"(除了:.ovhconfig)。
_发送他关于住宿的项目。
希望不会引起冲突。在我认为我们也应该在他的 Laravel 中重命名 "public/" in "www/".
谢谢你
我需要一些帮助,因为我是 Laravel 和 MVC 的初学者。 我想删除 URL 的 "public/"。
我在 Google 中找到的唯一两个 "solutions" 是: 使用 .htaccess。但是对我来说(显然对我来说不是)它不起作用。 要么将 "public" 文件夹中的内容放在项目 Laravel 的根目录下。出于安全原因,这并不好。
有没有真正的解决办法去掉"public/"URL?例如这个 URL:
localhost/Laravel/public/test
只能通过此URL访问:
localhost/Laravel/test
因为如果没有解决方案,我继续学习这个框架的课程是没有用的。
_我读过,在 AppServiceProvider 中可能有一个解决方案:
http://www.creerwebsite.com/medias/upload/larav2.png
或者在路由器或容器中使用这个:
App::bind('path.public', function() {
return base_path().'/public_html';
});
但是我是初学者,所以我没有找到解决方案。
谢谢。
最好的选择是将 WAMP 的本地安装配置为使用 Laravel 的 public
文件夹作为文档根目录。您在这里有两个选择:
选项 1. 仅针对此项目单独使用 wamp
- 找到您的
httpd.conf
文件。这是服务器配置,应该位于C:\wamp\bin\apache\Apache2.4.4\conf
。 (最好在编辑前备份此文件) - 在记事本中打开配置文件,找到行
DocumentRoot "c:/wamp/www"
并更改为DocumentRoot "c:/wamp/www/public"
(假设您的 laravel 项目在 www 文件夹中) - 保存
httpd.conf
并重新启动 wamp。
现在,当您访问 http://localhost
时,您应该会看到 Laravel 欢迎屏幕。
选项 2. 设置虚拟主机
此选项有点复杂,但允许您在 wamp 中同时拥有多个网站 运行,每个网站都有自己的子域,您可以使用它们在浏览器中访问它们。
1. 在记事本中打开httpd.conf
文件,找到DocumentRoot "c:/wamp/www"
行。将其更改为 DocumentRoot "c:/wamp/www/default"
.
2. 在此行下方添加以下代码段:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot 'c:/wamp/www'
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName myproject.localhost
DocumentRoot 'c:/wamp/www/myproject/public'
</VirtualHost>
这将在您的本地 ip 上创建两个新的虚拟主机 运行。一个将在域 localhost
上工作并提供 www/default
文件夹中的文件,另一个将在域 myproject.localhost
上工作并提供 www/myproject/public
文件夹中的文件。
在
C:\Windows\System32\drivers\etc
找到您的hosts
文件并在记事本中打开它。添加以下行:
127.0.0.1 localhost
127.0.0.1 myproject.localhost
这将添加两个域映射,将流量指向您的本地 ip 以供 wamp 处理。现在导航到 www 文件夹并创建
C:\wamp\www\default
和C:\wamp\www\myproject
。将您的 laravel 项目移动到\myproject
文件夹中,确保public
文件夹也在这里。终于重新启动 wamp,现在您应该可以访问 http://myproject.localhost 并查看您的 laravel 网站了。
解决方案:
_在他的 Laravel 项目中:重命名 "public" 文件夹,如下所示:"www."
_In An accommodation (example OVH): 删除根目录下的所有内容,包括 "www"(除了:.ovhconfig)。
_发送他关于住宿的项目。
希望不会引起冲突。在我认为我们也应该在他的 Laravel 中重命名 "public/" in "www/".
谢谢你