我正在使用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>
这是标准设置
非常困惑 - 缺少什么 - 我可以测试什么?
答案 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';