Как прописать 301 редирект в htaccess

(Ответов: 15, Просмотров: 877)
Страница 1 из 2 12 Последняя
  1. Новичок Аватар для Optilife
    • Регистрация: 21.03.2012
    • Сообщений: 18
    • Репутация: 0
    Как прописать 301 редирект в htaccess

    Со страниц вида site.com/tags/79.html на site.com/tags/79-stranica.html

    Id у всех страниц разные, надо просто чтобы на туже страницу но с другим ЧПУ уходило.
    • 0
  2. Гуру Аватар для kuzmi4
    • Регистрация: 26.02.2014
    • Сообщений: 526
    • Репутация: 105
    • Webmoney BL: ?
    Код HTML:
    Redirect 301 /tags/79.html http://site.com/tags/79-stranica.html
    • 0
  3. Новичок Аватар для Optilife
    • Регистрация: 21.03.2012
    • Сообщений: 18
    • Репутация: 0
    Цитата Сообщение от kuzmi4 Посмотреть сообщение
    Redirect 301 /tags/79.html http://site.com/tags/79-stranica.html
    Вы пишите для конкретной страницы, а говорю все аналогичные /1...N.html
    • 0
  4. Quae res omnia Аватар для Coder
    • Регистрация: 29.01.2015
    • Сообщений: 826
    • Репутация: 303
    Примерно, так:
    Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 1 сообщение(ий)):
    У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
    • 0
  5. Новичок Аватар для Optilife
    • Регистрация: 21.03.2012
    • Сообщений: 18
    • Репутация: 0
    Цитата Сообщение от Coder Посмотреть сообщение
    Примерно, так:
    А алиас страницы он тоже будет менять или везде будет stranica?

    Нужно все /1..n.html на /1..n-alias_stranicy.html
    • 0
  6. Quae res omnia Аватар для Coder
    • Регистрация: 29.01.2015
    • Сообщений: 826
    • Репутация: 303
    Цитата Сообщение от Optilife Посмотреть сообщение
    Нужно все /1..n.html на /1..n-alias_stranicy.html
    Нужно четкое ТЗ)
    Вы как написали, так и прикинули)

    Если правильно понял, то просто уберите stranica\. в приведенном коде (впрочем, с точкой посмотрите) - это навскидку, должно работать и без точки - возрат второй части уже с точкой будет - что пришло, то и напишется.
    • 0
  7. Новичок Аватар для Optilife
    • Регистрация: 21.03.2012
    • Сообщений: 18
    • Репутация: 0
    Coder,

    Виноват, я подумал что логично.

    Про какую точку Вы говорите?

    При верхнем коде со "stranica" , а при RewriteRule ^tags/(.+)\.(.+)$ tags/$1-\.$2 [R=301,L] без

    Редиректит куда то далеко, в итоге 404

    _http://site.com/home/r/hosting/site.com/public_html/tags/1246-.html
    • 0
  8. Quae res omnia Аватар для Coder
    • Регистрация: 29.01.2015
    • Сообщений: 826
    • Репутация: 303
    Цитата Сообщение от Optilife Посмотреть сообщение
    Редиректит куда то далеко, в итоге 404

    _http://site.com/tags/1246-.html
    Правильно редиректит и заменяет, вроде как. Нужно пробовать и смотреть, что вам точно нужно - все это навскидку:
    чтобы алиас страницы обрабатывался, его нужно включать (если он есть) во вторую часть регулярки.

    В общем, четко определите логику, посмотрите возможные варианты - если алиас у вас не передается, то его можно присоединять только вручную.

    Посмотрите в гугл регулярные выражения в htaccess
    • 0
  9. Новичок Аватар для Optilife
    • Регистрация: 21.03.2012
    • Сообщений: 18
    • Репутация: 0
    Coder,

    А этот кусок должен появляться?
    _http://site.com/home/r/hosting/site.com/public_html/tags/1246-.html в ссылке? из-за него же и не идет куда надо.

    Алиас есть.


    Цитата Сообщение от Coder Посмотреть сообщение
    если алиас у вас не передается, то его можно присоединять только вручную.
    Можно по русски). как это не передается и что значит вручную, ведь линк сам формируется.

    Суть в том, что есть две страницы
    site.com/tags/79-alias.htm
    и
    site.com/tags/79.html на обеих одинаковый контент, но дублями их поисковики не видят, но на первую, закуплены ссылки и она была в индексе, а тут вдруг вылетела почему не понятно, а вторая в индексе.

    Таких тегов под тысячу, на них можно перейти как просто с номером тега (вторая ссылка), так и с цифрой и алиасом (первая ссылка). Поэтому нужно средиректить, как прописать это хз, поэтому тему и создал. В поисковике конкретного решения не нашел, а сам выражение не составлю.
    Последний раз редактировалось Optilife; 24.06.2016 в 21:35.
    • 0
  10. Quae res omnia Аватар для Coder
    • Регистрация: 29.01.2015
    • Сообщений: 826
    • Репутация: 303
    Цитата Сообщение от Optilife Посмотреть сообщение
    Можно по русски). как это не передается и что значит вручную, ведь линк сам формируется.
    Проблема в том, что алиас не определяется в первой части, и потому подставить во вторую, не получится - нельзя же сделать, например, так :
    RewriteRule ^/tags/(.+)\.(.+)$ /tags/$1-(.*)\.$2 [R=301,L]

    Пояснение:

    ^/tags/(.+)\.(.+)$ - получаем все по пути и разбиваем нато, что до точки, и то, что после
    /tags/$1-stranica\.$2 - перенаправляем на ту же папку, и берем то, что в первой части до точки ($1), добавляем дефис и вручную алиас, ставим точку и пристыковываем то, что определено в первой части вторым блоком ($2)

    этот кусок должен появляться? - по поводу этого - попробуйте поставить слэш перед папкой (/tags/) - почему-то вытаскивается абсолютный путь на хостинге, что, вообще-то, быть не должно вообще при любом перенаправлении такого типа - возможно, стоит об этом задуматься.

    PS Все, что мог, сказал. Желаю вам удачи. Пробуйте - решение, если оно есть, обязательно появится.
    • 1

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

    Optilife(25.06.2016),
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Если прописать редирект в панели домена, домены склеятся?
Вопросы от новичков 0 08.05.2013 12:47
Как сделать 301 редирект в .htaccess
Вопросы от новичков 8 01.11.2012 19:46
Редирект в .htaccess
Web программирование 6 21.06.2012 21:56
Что прописать в .htaccess, чтобы обрабатывались директории?
Web программирование 1 06.04.2011 08:57
.htaccess редирект
Прочее 9 11.09.2009 21:48

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

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

Информеры