【问题标题】:Show requests from root folder to subfolder显示从根文件夹到子文件夹的请求
【发布时间】:2015-09-20 16:01:56
【问题描述】:

我正在为我的网站使用 Laravel,但我遇到了问题。

我的网站没有任何 public_htmlhtdocs 文件夹,但根目录本身已经是公开的。因此,我有义务将所有 Laravel 文件放到根文件夹中。

谁不知道,在使用 Laravel 时,公共文件夹通常是子文件夹 public,因此现在如果我想访问我的 Laravel 网络应用程序,我必须导航到 http://www.mywebsite.com/public

我需要编辑 .htaccess 以便从 http://www.mywebsite.com/ 显示子文件夹 public 文件并拒绝对根文件的任何访问。

所以http://www.mywebsite.com/public/index.php 应该是http://www.mywebsite.com/index.phphttp://www.mywebsite.com/public/images/logo.png 应该是http://www.mywebsite.com/images/logo.png 等等。

现在我想知道,这可能吗?

Laravel .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]
</IfModule>

【问题讨论】:

    标签: php .htaccess laravel


    【解决方案1】:

    我自己通过编辑原始 .htaccess 成功解决了这个问题:

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond public/%{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ public/$1 [L,R=301]
    
        # Handle Front Controller...
        RewriteCond public/%{REQUEST_FILENAME} !-d
        RewriteCond public/%{REQUEST_FILENAME} !-f
        RewriteRule ^ public/index.php [L]
    </IfModule>
    

    【讨论】:

      猜你喜欢
      • 2011-11-15
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 2013-10-14
      • 2015-10-06
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      相关资源
      最近更新 更多