Laravel 4 удалить Index.php из URL

Мне нужна помощь с приложением laravel 4. Мне нужно удалить Index.php из URL. Я пробовал решение, упомянутое в документации 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 ответов

Это сработало для меня

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

ДЛЯ ЛАМПЫ СЕРВЕРА

Попробуйте следующие шаги,

  1. Активируйте модуль mod_rewrite с помощью

sudo a2enmod переписать

  1. и перезагрузите апач

перезапуск службы sudo apache2

  1. Чтобы использовать mod_rewrite из файлов.htaccess (что очень распространено), отредактируйте 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,

  3. Перезагрузите сервер снова:

перезапуск службы sudo apache2

Раскомментировать 'LoadModule rewrite_module modules/mod_rewrite.so' в апаче httpd.confв папке 'public' проверьте файл.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>

Просто зайдите в папку настроек Apache, я использую Wamp, так что мой

C:/wamp/bin/apache/apache2.4.9/conf/httpd.conf - файл

   // located on line 154 precisely... 

    #LoadModule rewrite_module modules/mod_rewrite.so  

   // to 

    LoadModule rewrite_module modules/mod_rewrite.so 

перезапустите WAMP и BOOM!.. это работает.

Я прочитал длинные сообщения и темы, но ничего не работает, потом я нашел это, и это работает для меня.

Самый простой способ сделать это (и способ, которым я всегда пользуюсь) - это открыть командную строку или терминал и перейти в главный каталог вашего проекта и запустить "php artisan serve". Вот и все. Вы сделали. Не верьте мне? Проверьте http://localhost:8000 и восхищаюсь твоей работой Laravel.

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

Попробуй это:

a2enmod rewrite

И это будет работать

Модуль apache mod_rewrite может быть отключен по умолчанию. включите его и повторите попытку.

Другие вопросы по тегам