Ahmad abdallah
Ahmad abdallah

Reputation: 103

Laravel 4 remove Index.php from URL

I need some help with laravel 4 application i need to remove Index.php from url i have tried the solution that has been mentioned in laravel documentation

Pretty URLs
Apache

The framework ships with a public/.htaccess file that is used to allow URLs without index.php. If you use Apache to serve your Laravel application, be sure to enable the mod_rewrite module.

If the .htaccess file that ships with Laravel does not work with your Apache installation, try this one:

Options +FollowSymLinks
RewriteEngine On

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

any Suggestions :) ?

Upvotes: 4

Views: 6864

Answers (7)

Ande Caleb
Ande Caleb

Reputation: 1204

just go to your apache settings folder, i use wamp so myne is

C:/wamp/bin/apache/apache2.4.9/conf/httpd.conf - file

   // located on line 154 precisely... 

    #LoadModule rewrite_module modules/mod_rewrite.so  

   // to 

    LoadModule rewrite_module modules/mod_rewrite.so 

restart WAMP and BOOM!.. it works.

Upvotes: 1

Pankaj Garg
Pankaj Garg

Reputation: 1322

this worked for me

<Directory "/var/www/html">` 
    AllowOverride All
</Directory>

Upvotes: 2

Vinod VT
Vinod VT

Reputation: 7159

FOR LAMP SERVER

Try the following steps,

  1. Activate the mod_rewrite module with,

sudo a2enmod rewrite

  1. and restart the apache

sudo service apache2 restart

  1. To use mod_rewrite from within .htaccess files (which is a very common use case), edit the default VirtualHost with

sudo nano /etc/apache2/sites-available/000-default.conf

  1. Search for “DocumentRoot /var/www/html” and add the following lines directly below:

    <Directory "/var/www/html">` 
            AllowOverride All
    </Directory>
    
  2. Save and exit the nano editor via CTRL-X, “y” and ENTER.

  3. Restart the server again:

sudo service apache2 restart

Upvotes: 2

owais
owais

Reputation: 4922

I have read long posts and threads but nothing works then i found this and it works for me.

The easiest way to do this (and the way I always use) is to open up your Command prompt or Terminal and cd into the main directory of your project then run "php artisan serve". That's it. You're done. Don't believe me? Check out http://localhost:8000 and admire your Laravel work.

http://michaelbrooks.co.uk/post/laravel-localhost-removing-public-index-php

Upvotes: 0

vuhung3990
vuhung3990

Reputation: 6889

uncomment 'LoadModule rewrite_module modules/mod_rewrite.so' in apache httpd.conf in 'public' folder check .htaccess file (created by default)

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

Upvotes: 1

TuGordoBello
TuGordoBello

Reputation: 4510

Try this:

a2enmod rewrite

And it will works

Upvotes: 0

Try
Try

Reputation: 31

mod_rewrite apache module may not be enabled by default. enable it and retry.

Upvotes: 0

Related Questions