Laravel 4 remove Index.php from URL

不羁岁月 提交于 2019-11-28 08:44:33

问题


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 :) ?


回答1:


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




回答2:


this worked for me

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



回答3:


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>



回答4:


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




回答5:


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.




回答6:


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




回答7:


Try this:

a2enmod rewrite

And it will works



来源:https://stackoverflow.com/questions/22365021/laravel-4-remove-index-php-from-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!