我需要一些帮助请,因为我是初学者与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
文件夹作为文档根目录。这里有两个选项:
- 找到
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欢迎屏幕。
这个选项有点复杂,但可以让你在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"文件夹:"
_In(例如OVH):删除根目录下的所有内容,包括"www" (.ovhconfig除外)。
发送他的住宿项目。
我希望这不会引起冲突。之后我想我们也应该在他的Laravel中重命名"public/"在"www/"。
谢谢