试图从 url Laravel 中删除 public
Posted
技术标签:
【中文标题】试图从 url Laravel 中删除 public【英文标题】:Trying to remove public from url Laravel 【发布时间】:2016-03-06 15:19:48 【问题描述】:我的 .htaccess 文件中有这段代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
但正如您在下面的屏幕截图中看到的那样,它不起作用:
截图链接:http://i.imgur.com/n8AYlcX.png
但是,如果我将 .htaccess 文件更改为:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
然后我可以在我的浏览器上看到这个:
截图链接:http://i.imgur.com/yjhTEx0.png
这是我的文件夹结构的样子:
截图链接:http://i.imgur.com/t91w2OH.png
我尝试了什么?
我已经在 XAMPP 中启用了我的mod_rewrite
来尝试修复我的解决方案。我在下面的链接中遵循了这些步骤:
链接:http://www.leonardaustin.com/blog/technical/enable-mod_rewrite-in-xampp/
【问题讨论】:
只是出于好奇,这是哪个编辑器? i.imgur.com/t91w2OH.png 带有 Seti UI 主题的 Sublime text 3。 哦,好的。我还以为是VS Code 【参考方案1】:您需要做的就是将 Apache 中站点配置的主目录指向 Laravel 安装的 public
文件夹。
目前,它似乎指向其根文件夹。
【讨论】:
任何其他解决方案都是废话 我不太明白你的意思。你的意思是在我的主机文件中是这样的?:127.0.0.1 localhost/portfolio-zaky-2/public/ 但这对我不起作用。 不,不在您的主机文件中。在本地开发网站的 Apache 配置中。【参考方案2】:在您的虚拟主机中,您应该将域 documentroot 指向 /public 文件夹。
DocumentRoot "/home/vhostsfolder/laravelproject/public"
而不是
DocumentRoot "/home/vhostsfolder/laravelproject"
您使用的是什么服务器?本地/共享主机/vps?
【讨论】:
以上是关于试图从 url Laravel 中删除 public的主要内容,如果未能解决你的问题,请参考以下文章
从 Vue JS + Laravel 中的 URL 中删除哈希