Laravel 4从URL中删除Index.php

时间:2014-03-12 22:12:08

标签: php laravel-4 pretty-urls

我需要一些laravel 4应用程序的帮助我需要从url中删除Index.php我已经尝试了laravel文档中提到的解决方案

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]

任何建议:)?

7 个答案:

答案 0 :(得分:2)

FOR LAMP SERVER

尝试以下步骤

  1. 使用
  2. 激活mod_rewrite模块
      

    sudo a2enmod重写

    1. 并重新启动apache
    2.   

      sudo service apache2 restart

      1. 要使用.htaccess文件中的mod_rewrite(这是一个非常常见的用例),请使用
      2. 编辑默认的VirtualHost
          

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

        1. 搜索“DocumentRoot / var / www / html”并在下方添加以下行:

          <Directory "/var/www/html">` 
                  AllowOverride All
          </Directory>
          
        2. 通过CTRL-X, “y”ENTER保存并退出nano编辑器。

        3. 再次重启服务器:
        4.   

          sudo service apache2 restart

答案 1 :(得分:2)

这对我有用

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

答案 2 :(得分:1)

在apache 'LoadModule rewrite_module modules/mod_rewrite.so'中取消注释httpd.conf 在&#39; public&#39;文件夹检查.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>

答案 3 :(得分:1)

我已阅读很长的帖子和帖子,但没有任何作品,然后我发现了这对我有用。

最简单的方法(以及我一直使用的方式)是打开命令提示符或终端并cd进入项目的主目录然后运行&#34; php artisan serve&#34; 。就是这样。你完成了。别相信我?查看http://localhost:8000并欣赏您的Laravel作品。

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

答案 4 :(得分:1)

转到你的apache设置文件夹,我使用wamp,所以myne是

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 

重启WAMP和BOOM!..它有效。

答案 5 :(得分:0)

默认情况下可能未启用mod_rewrite apache模块。启用它并重试。

答案 6 :(得分:0)

试试这个:

a2enmod rewrite

它会起作用