【问题标题】:How to remove public/index.php from url in laravel 5?如何从 laravel 5 中的 url 中删除 public/index.php?
【发布时间】:2015-10-11 20:36:20
【问题描述】:

我正在使用 laravel 5,当我在 rackspace 上上传我的项目时遇到一个问题,它在 url 中显示 public/index.php。没有这个,我的项目将无法运行。

请帮帮我。

我的公众活动是这样的:-

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

关于 哈帕塔辛格

【问题讨论】:

标签: php .htaccess laravel laravel-5


【解决方案1】:

您可以通过将 /path/to/laravel/public 文件夹本身设置为 Apache/nginx 中的 webroot 而不是 /path/to/laravel 来做到这一点。有了它,以及公共文件夹中的标准.htaccess,您应该能够在没有publicindex.php URL 段的情况下访问您的路由。

【讨论】:

  • Rackspace 不允许我的域直接重定向到公用文件夹。
  • 你能通过 SSH 连接到服务器并简单地符号链接 httpdocs -&gt; public 吗?即ln -s public httpdocs。假设您的项目不在文档根目录中(我认为这是 Alan 的意思)。
【解决方案2】:

从您的公共文件夹中复制您的.htaccess 文件并粘贴到您的根目录中 这段代码在.htaccess:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-28
    • 2014-07-13
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2018-06-30
    相关资源
    最近更新 更多