Я не понимаю RewriteRule

(Ответов: 1, Просмотров: 324)
  1. Новичок Аватар для Surgeryzone
    • Регистрация: 11.04.2012
    • Сообщений: 26
    • Репутация: 0
    Пример:

    RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
    RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

    Макрос $1 обозначает то, что находится внутри первой пары скобок RewriteRule.
    Выражение .* обозначает любое количество любых символов.

    Пробуем правило, открываем страницу www.site.ru/page - под RewriteCond подходит. Поэтому срабатыает RewriteRule, берутся все эти символы и вставляются вместо $1.

    Должно получиться:

    http://site.ru/www.site.ru/page

    Но получается

    http://site.ru/page

    То есть, в круглых скобках RewriteRule находится page.

    Почему только page, если .* это любое количество любых символов?
    • 0
  2. Опытный Аватар для WSairus
    • Регистрация: 25.01.2013
    • Сообщений: 334
    • Репутация: 71
    Говорят, вдумчивое чтение документации в таких случаях помогает:

    https://httpd.apache.org/docs/2.0/mo...ml#rewriterule
    https://httpd.apache.org/docs/2.0/mi...riteguide.html

    Хорошая статья с разъяснениями на русском: https://habrahabr.ru/company/sprinthost/blog/129560/

    Первому RewriteRule передается путь от того места, где находится .htaccess, до запрошенного файла. Эта строка никогда не начинается со "/". Последующим RewriteRule передается результат предыдущих преобразований.
    • 1

    Спасибо сказали:

    globestar(01.01.2018),

Похожие темы

Темы Раздел Ответов Последний пост
Странный дорвей или я что-то не понимаю
Вопросы от новичков 5 19.02.2013 23:14
Вот это я понимаю телефон! И цена не такая большая от 10000 руб!
Оффтоп и свободные темы 17 12.08.2012 23:22
Выдача Google. Подскажите чего я не понимаю
Google 9 22.09.2011 16:55
Как работает дорвей - как я это понимаю
Дайджест блогосферы 4 24.06.2010 03:04

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры