Ad

Xampp Apache Rewrite Not Working

- 1 answer

I have a folder called crm in htdocs which contains a fresh laravel 5.1 project and i am trying to acess it via http://localhost/crm/ but it just brings the index of page containing the directory contents instead of the page mapped in my routes.php as

Route::get('/', function () {
    return view('panel');
});

i have checked that apache mod_rewrite is enable in httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Require all granted
</Directory>

then the .htaccess file in crm/public folder contains

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

I have also tried to change it to

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

without success.

Ad

Answer

You need to point Laravel to public directory to make it work. For example, if you've installed Laravel in C:/xampp/htdocs/ directory, you need to use these settings:

DocumentRoot "C:/xampp/htdocs/public"
<Directory "C:/xampp/htdocs/public">

Do not edit .htacces inside public folder. Try to change settings and load Laravel website by going to localhost first.

When you've edited Apache config file, you should restart web server.

Ad
source: stackoverflow.com
Ad