Задать вопрос
Ответы пользователя по тегу Apache HTTP Server
  • Как пользоваться mod_rewrite? Как получить из url.com/foo.php -> url.com/foo?

    socengel
    @socengel
    7 лет native php в продакшене, онлайн 20000+,
    1. SEO, если ссылка содержит часть запроса, ражирование выше. Вспомните википедию и на каком она месте по результатам выдачи. собственно наглядный пример: ".рф/никнейм/фотоальбом/весна_2014" что еще более понятно.
    Такая модель очень удобна для ООП. класс/метод/параметры + классам и методам можно задавать псевдонимы.
    2. Mod_rewrite. Без мод rewrite - index.php/foo/bar/ работать будет (смотря какой обработчик запросов). Собственно реврайт и нужен чтобы убрать индекс пхп из строки запроса.
    Нужно будет своими руками делать обработчик таких запросов. в качестве входящих данных будет всего одна строка $_SERVER['REQUEST_URI'] Которую нужно "Взорвать по слэшу" - explode( "/", $_SERVER['REQUEST_URI'] ); собственно массив на выходе и есть "новый $_GET". последствия думаю представите сами.
    3. Можете забыть про $_GET. использование такой технологии равносильно unset($_GET) в первой строке индексного файла. (более подробно о $_GET я писал в этом вопросе - Post и Get запросы, какая между ними разница и что лучше и для каких целей? ).
    Так же появляется зависимость от положения параметра в строке. вы будете использовать вместо строковых ключей массива номер в массиве например if ( isset( $exploded_uri['2'] ) && $exploded_uri['2'] = 'something' ) { }
    4. думаю я уже ответил.
    Ответ написан
    Комментировать