Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.2仅在主页上的url中显示public_Php_.htaccess_Laravel_Cpanel - Fatal编程技术网

Php Laravel 5.2仅在主页上的url中显示public

Php Laravel 5.2仅在主页上的url中显示public,php,.htaccess,laravel,cpanel,Php,.htaccess,Laravel,Cpanel,我正在和cpanel建立一个laravel 5.2网站 我的域名根指向“public”,网站正在运行 但是,对于主页/索引页,它在url中不断显示public,并出现页面未找到错误 因此,对于我期望的url,我输入www.example.com,它会出现www.example.com/public 如果我导航到预期的页面,例如www.example.com/production,则页面显示正确,url显示正确 我已经在homestead中正确地运行了该站点,并且我创建了另一个站点,该站点运行良好

我正在和cpanel建立一个laravel 5.2网站

我的域名根指向“public”,网站正在运行

但是,对于主页/索引页,它在url中不断显示
public
,并出现页面未找到错误

因此,对于我期望的url,我输入
www.example.com
,它会出现
www.example.com/public

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

我已经在homestead中正确地运行了该站点,并且我创建了另一个站点,该站点运行良好-只是无法解决这个问题

以下是my.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>

选项-多视图
重新启动发动机
#重定向尾部斜杠。。。
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
这是设定的标准

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

您需要重新启动它

VH的一个示例:

DocumentRoot "/path_to_aravel_project/public"
<Directory "/path_to_aravel_project/public">
DocumentRoot”/path\u to\u aravel\u project/public

我想您需要在.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]

选项-多视图
重新启动发动机
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
试试这个, 将index.php从public移动到项目根目录

将index.php修改为

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

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

嗨-是的,我已经这样做了,正如前面提到的,它正在从公共文件夹中正确地提取它嗨-我想我已经包括了这个选项了?我需要复制吗?你是使用子域还是仅使用域?你可以复制粘贴我的代码并尝试或遵循以下操作:使用主域HI-添加你的.htaccess代码,无需更改。在索引页面上,它仍然希望向其添加
public
——您可以在这里看到:www.spads-traic.org.uk它将向其添加public并显示页面未找到错误。如果您将public替换为productions,它将显示正确的页面和正确的url