Laravel not showing index.php

后端 未结 3 768
萌比男神i
萌比男神i 2021-01-14 01:53

I\'m new in Laravel, I made virtual host http://example.com and installed Laravel in folder of this domain but when I try to access this domain I get this

相关标签:
3条回答
  • 2021-01-14 02:20

    That's exactly what you should be seeing. When you click the 'public' folder do you see a 'You have arrived.', with the laravel logo? If so, then you've correctly installed laravel.

    The 'public' folder, is the main folder in which the actual public has access to your website when you put it on a server. You'll want to do one of two things here:

    The simple (but insecure) way:

    Add a .htaccess file to the root of your web folder containing this text:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>
    

    This will make all requests go to www.example.com/public, but only show www.example.com in the URL.

    The harder (but correct) way:

    This completely depends on which provider you will be hosting your website on, but on Godaddy and others, you have the option of selecting the root folder of your website. In this case you'd select the 'public' folder to be the root. I cannot give you a tutorial on that because this option ranges on availability on every hosting provider.

    EDIT: I should add just in case. When you add content to your site, such as CSS/images/files and everything the public will have access to, make sure you put them in the public folder.

    0 讨论(0)
  • 2021-01-14 02:20

    You VirtualHost configuration needs to point DirectoryRoot further into public/ directory, so it can use its .htaccess and index.php inside that directory.

    0 讨论(0)
  • 2021-01-14 02:26

    This is your VirtualHost setup

    <VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs/example" ## <-- pointed to wrong folder
        ServerName example.com
        ServerAlias www.example.com 
        ErrorLog "logs/www.example.com.domain-error.log"
    </VirtualHost>
    

    You didn't point it to the public folder. It should be (These are minimum requirements)

    <VirtualHost *.80>
        DocumentRoot "C:/xampp/htdocs/example/public"
        ServerName example.com
    </VirtualHost>
    

    You should point it to the public folder because index.php is inside public folder.

    I use this kind of setup

    <VirtualHost laravel4.dev>
        DocumentRoot "D:/xampp/htdocs/laravel4/public"
        ServerName laravel4.dev
    </VirtualHost>
    

    Corresponding setup in windows/system32/drivers/etc/host file is

    127.0.0.2           ci.dev
    127.0.0.3           laravel4.dev ## <-- This is for current vHost
    127.0.0.4           symcom.dev
    

    So, I can navigate to my site on local host using http://laravel4.dev (dev for development)

    0 讨论(0)
提交回复
热议问题