【问题标题】:Trying to remove public from url Laravel试图从 url Laravel 中删除 public
【发布时间】: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

标签: apache .htaccess laravel laravel-5 xampp


【解决方案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?

【讨论】:

    猜你喜欢
    • 2016-07-30
    • 2015-01-14
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 2017-09-28
    • 2023-03-23
    • 2021-05-11
    相关资源
    最近更新 更多