Htaccess замена части url

Мне пришлось изменить название подстраницы, и теперь проблема в том, что все общие ссылки на Facebook, Twitter и т.д. больше не работают.

Вот почему я пытаюсь перенаправить только часть URL с .htaccess , но у меня пока нет решения.

Он должен работать следующим образом:

Надеюсь, ты поможешь мне!

Это будет зависеть от вашего сервера, но вы ищете что-то в этом направлении

Вы можете попробовать переписать URL-адрес с помощью RewriteRule , например, следующим образом:

.htaccess

Надеюсь, это сработает для вас.

Вы можете найти дополнительную информацию здесь.

Блог Тимура Казанского

Как изменить url сайта с помощью htaccess?

В этой статье, я объясню, как изменить url сайта с помощью htaccess? Как сделать чпу(человеко-понятный url) или «friendly url»(дружественный url) вашего сайта на php, посредством файла .htaccess. Почему я выбрал именно этот вариант, и прочие особенности я расскажу в конце данной статьи. А пока, начнем с практики:

Если вы уже имеете файл .htaccess в корне сайта – замечательно, вам останется только добавить пару строчек кода, если нет, то создаем его:

Хочу отметить, что при создании .htaccess рекомендую использовать обычный, базовый блокнот (не Notepad++ и прочие аналоги).

И так, к примеру у нас есть интернет магазин на главной страничке которого имеются различные товары, чтобы просмотреть описание товаров, мы щелкаем на позицию понравившегося товара и получаем ссылку site.ru/products.php? >

Открываем наш файл .htaccess и прописываем туда следующие строчки кода: RewriteEngine on
RewriteRule ^social/(.*)/? site.php? >

Подождите, не убегайте! Это еще не все, самый главный момент, в котором очень многие заблуждаются, это то, что на этом ссылка сама изменится – нет! Она не изменится, если вы будете нажимать – на прежнюю, старую ссылку, ее нужно изменить самим, другими словами, только тогда и только тогда, когда мы вставляем в браузерную строку ссылку вида site.ru/products/2 – вот тогда она меняется, а во втором файле она будет восприниматься как ссылка site.ru/products.php? > Заменяем Перейти к описанию товара—> на Перейти к описанию товара—>

и не забываем прописать абсолютный путь для остальных файлов! В нашем случаем это файл со стилями в файле products.php т.к. именно для него мы изменили ссылку!

Заменяем

  • на
  • site.ru – заменяем вашим сайтом!
  • Проверяем и вуаля, вот он, желаемый результат!

    А теперь на конкретном примере расскажу и покажу все подробно в деталях, чтобы всем было понятно:

    Я уже писал о.htaccess, и вот столкнулся с проблемой, которая вынудила меня немного разобраться вообще в тех строках, которые там прописаны, а конкретно с mod_rewrite.

    Модуль mod_rewrite представляет собой основанный на правилах механизм (синтаксический анализатор с применением регулярных выражений), выполняющий URL преобразования на лету.

    Для начала — как подключить модуль? Для этого сначала прописываются строки:

    Теперь немного о синтаксисе:

    ЭЛЕМЕНТЫ

    ^ — обозначение начала строки
    $ — обозначение конца строки
    . — в регулярных выражениях точка ‘.’ обозначает мета-символ и должна быть защищена обратным слэшем (backslash), если Вы все-таки хотите
    использовать именно фактическую точку.
    . (точка) — текст (любой символ)
    | — чередование (то есть/abc|def/)
    * — любое число значений
    s — оператор (string1 заменить на string2)
    g — модификатор (искать по всему тексту)

    ПЕРЕМЕННЫЕ

    фЛАГИ

    [F] — специальный ‘запрещающий’ флажок (forbidden).
    [NC] — не учитывать регистр букв.
    [OR] — означает ‘или следующее условие’.
    [L] – last – после этой директивы дальнейший анализ директив RewriteRule останавливается и прочие директивы не исполняются
    [R=301, L] — безопасный редирект

    Для восприятия приведу пару примеров:

    заменит строку ‘abc’, на строку ‘xyz’ во всем тексте. А вот выражение

    означает: ‘Доступ ко всем файлам запрещен’

    Как заменить адрес URL

    Как же нам превратить один адрес в другой? Например, так:

    http://www.yoursite.com/cgi-bin/shop.cgi?product3 в http://www.yoursite.com/shop/product1

    Для этого воспользуемся переменными $1 и $2, которые связаны с текстовыми группами(.*):

    То есть по сути, $1 = (.*) вначале, $2 = (.*) вконце, и задесь мы превращаем cgi-bin/shop.cgi? в shop/.

    Как заблокировать доступ:

    Если Вы хотите заблокировать определенный IP адрес, условие будет выглядеть так:

    А если вы хотите заблокировать диапазон адресов? Например, с 212.37.64.0 по 212.37.64.255.

    Как видим, ничего сложного

    Ну и последний пример использования mod_rewrite — как сделать так, чтобы при наборе www.site.ru, его адрес заменялся на site.ru?

    % — проверочная строка, и обращается она к имени сайта
    Далее сайт www.site.ru (регистр не важен) превращаем в http://site.ru/ (без ввода переменной замены не получается, правило не действует.)
    Если вам есть что дополнить или мб исправить меня — милости прошу в комменты

    И напоследок не могу не упомянуть об ещё одном хорошем веб-дизайн блоге — arniwebdesign


    [an error occurred while processing the directive]
    Карта сайта