【问题标题】:Laravel 4.2 rewrite URL - remove publicLaravel 4.2 重写 URL - 删除公共
【发布时间】:2014-12-03 20:58:06
【问题描述】:

我的旧域名:domain.com

我的 laravel 项目在:domain.com/laravel/public 它运行良好,但我不想在 URL 中看到 public。

我将新的 .htaccess 文件添加到我的根 laravel 文件夹 (domain.com/laravel/.htaccess): 重写引擎开启

RewriteRule ^(.*)$ public/$1 [L]

当我访问domain.com/laravel时,我的jQuery路径是:domain.com/js/jquery.min.js

当我访问domain.com/laravel/public时,我的jQuery路径是:domain.com/laravel/public/js/jquery.min.js

我不想将公用文件夹中的所有文件移动到根文件夹,因为那里确实有更多文件。

最好的问候,

【问题讨论】:

  • 我们的想法是将所有文件公开在您的站点根目录中,并将所有其他文件放在您的站点根目录之外。这有几个优点,尤其是在安全方面。
  • 嗨,马蒂,感谢您的帮助!我在公共文件夹中有很多文件,我有更多功能从文本文件中读取内容(我放在公共文件夹中),如果我将所有文件移动到公共文件夹,这对我来说很难维护。

标签: laravel-4


【解决方案1】:

这是我目前的解决方案:

<IfModule mod_rewrite.c>
  RewriteCond $1 !^(public)
  RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>

你必须添加一个重写条件。

【讨论】:

    【解决方案2】:

    我在更多网站上阅读了更多答案,几乎他们说将公用文件夹中的所有文件移动到 Laravel 应用程序的根文件夹。

    如果我们在那里有更多文件,那就不好了,所以,我尝试了一些方法,最后,我只是将 index.php 和 .htaccess 文件移动到根应用程序。

    运行良好,我只是在使用 HTML::script、HTML::css 和 {{asset}} 时更改了一些代码 像往常一样,我们使用 HTML::css('style.css'),我只是在之前添加了 public,像这样:HTML::css('public/style.css')

    我希望它对某人有所帮助。 最好的问候。

    【讨论】:

      猜你喜欢
      • 2015-07-17
      • 2015-06-09
      • 1970-01-01
      • 2017-02-27
      • 2016-06-09
      • 2019-03-30
      • 2013-03-13
      • 2015-04-06
      相关资源
      最近更新 更多