2017-10-09 86 views
1

我试图部署上A2Hosting一个laravel应用共享主机。我的文档根目录是:/public_html目录。我从我的laravel应用程序中除公用文件夹以外的所有应用程序都上传到了托管目录/ beta。每个路由显示404消息共享主机

然后我将所有内容从公共目录上传到/public_html目录。

在我的index.php文件,我改变了以下两行:

require __DIR__.'/../beta/vendor/autoload.php'; 
$app = require_once __DIR__.'/../beta/bootstrap/app.php'; 

现在我只看到正确的我的应用程序的主页。那就是,mydomain.com。任何超链接后跟mydomain.com显示404消息。在我看来的文件,这就是我这里指的是一个路径:

<a href="/login">Login</a> 

但在部署应用程序,只要我打的环节,即mydomain.com/login后,我得到的消息404 Not Found: The resource requested could not be found on this server!。我试图在<a>标签改变/loginlogin。同样的结果。我该如何解决这个问题?

+2

你能给这个网址在单独的选项卡一试'mydomain.com/index.php文件/ login' –

+1

哪个Web服务器您使用的? Apache/Nginx?你是否通过root/bootstrap文件路由了所有非文件/目录请求? (例如/public_html/index.php) – steadweb

+1

@HimanshuUpadhyay,兄弟你吹了我的脑海。是的,它现在显示登录页面:/出了什么问题? – Eisenheim

回答

1

Eisenheim,这是htaccess的问题:让你的网络项目的根文件夹一个.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> 

然后尝试没有index.php它应该很好地工作。

+0

当你说你的web项目的根文件夹,你的意思是,我复制到/的public_html文件夹,或者我复制到/测试文件夹中的应用laravel根laravel应用的公用文件夹? – Eisenheim

+0

laravel文件夹根目录。所以是的,在'beta'文件夹内。你可以在哪里看到composer.json和composer.lock等文件。 –

+0

新增.htaccess文件,并试图不index.php文件,没有工作 – Eisenheim