显示从根文件夹到子文件夹

时间:2015-07-02 23:23:10

标签: php .htaccess laravel

我在我的网站上使用Laravel,但我遇到了一个问题。

我的网站没有任何 public_html htdocs 文件夹,但根本身已经公开了。因此,我不得不将所有Laravel文件放到根文件夹中。

对于谁不知道,当使用Laravel时,公共文件夹通常是子文件夹 public ,因此,如果我想访问我的Laravel Web应用程序,我必须导航到{{3} }。

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

因此http://www.mywebsite.com/应为http://www.mywebsite.com/public/index.phphttp://www.mywebsite.com/index.php应为http://www.mywebsite.com/public/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>

1 个答案:

答案 0 :(得分:0)

我通过编辑原始.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>