Laravel 5.1 -删除"public/"用方法绑定URL


Laravel 5.1 - Remove "public/" of the URL whith Method bind?

我需要一些帮助请,因为我是初学者与Laravel和MVC。我想删除URL的"public/"

我在谷歌上找到的唯一两个"解决方案"是:要么用。htaccess。但对我来说(显然不是对我),这行不通。要么把"public"文件夹放在项目Laravel的根目录下。出于安全考虑,这不是一个好方法。

有一个真正的解决方案来删除"公共/"URL?比如这个URL:

localhost/Laravel/公共/测试

只能通过这个URL访问:

localhost/Laravel/测试

因为如果没有解决方案,我继续学习这个框架的课程是没有用的。

_我读过,AppServiceProvider中可能有解决方案:

http://www.creerwebsite.com/medias/upload/larav2.png

或者在Router或容器中使用

App::bind('path.public', function() {
return base_path().'/public_html';

});

但我是初学者,所以我找不到解决方法。

谢谢。

最好的选择是配置WAMP的本地安装使用Laravel的public文件夹作为文档根目录。这里有两个选项:

<标题>选项1。仅在此项目中使用wamp
  1. 找到httpd.conf文件。这是服务器配置,应该位于C:'wamp'bin'apache'Apache2.4.4'conf中。(在编辑前最好备份一下这个文件)
  2. 在记事本中打开配置文件,找到DocumentRoot "c:/wamp/www"行并更改为DocumentRoot "c:/wamp/www/public"(假设您的laravel项目在www文件夹中)
  3. 保存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'etchosts文件并在记事本中打开它。添加以下行:
    127.0.0.1 localhost
    127.0.0.1 myproject.localhost
    这将添加两个域映射,将流量指向您的本地ip供wamp处理。

  • 现在导航到www文件夹并创建C:'wamp'www'defaultC:'wamp'www'myproject。移动你的laravel项目到'myproject文件夹,确保public文件夹也在这里。

  • 最后重新启动wamp,现在你应该可以去http://myproject.localhost,看到你的laravel网站。

  • 解决方案:

    _在他的Laravel项目中:像这样重命名"public"文件夹:"

    _In(例如OVH):删除根目录下的所有内容,包括"www" (.ovhconfig除外)。

    发送他的住宿项目。

    我希望这不会引起冲突。之后我想我们也应该在他的Laravel中重命名"public/"在"www/"。

    谢谢

    相关文章: