Laravel 5.2仅在主页上保持公开显示

时间:2016-08-19 10:54:44

标签: php .htaccess laravel cpanel

我正在使用cpanel设置laravel 5.2站点。

我有域根指向`public'该网站正在运作。

但是对于主页/索引页面,它会不断在网址中显示public,并且会出现找不到网页的错误。

因此,对于我预期的网址,我输入www.example.com,然后提出www.example.com/public

如果我导航到预期的页面,例如www.example.com/production页面显示正确,网址正确显示

我已经在homestead中使网站正常运行,并且我已经创建了另一个网站并且工作正常 - 只是无法解决这个问题!

这里是我的.htaccess的内容:

<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>

这是标准设置

非常困惑 - 缺少什么 - 我可以测试什么?

3 个答案:

答案 0 :(得分:0)

您需要point web server to a public directory并重新启动它。

VH的一个例子:

DocumentRoot "/path_to_aravel_project/public"
<Directory "/path_to_aravel_project/public">

答案 1 :(得分:0)

我想你需要在.htaccess文件中添加额外的行

RewriteCond %{REQUEST_FILENAME} !-d

完整的代码将是

<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]

答案 2 :(得分:0)

试试这个, 将index.php从public移动到项目根目录

将index.php修改为

require __DIR__.'/bootstrap/autoload.php';

require __DIR__.'/bootstrap/autoload.php';