То есть, у вас статика, а вы хотите файлы *.html представить как директории?
Вот так, к примеру.
RewriteEngine on RewriteBase / # Перенаправление при запросе *.html RewriteCond %{REQUEST_FILENAME} \.html$ RewriteRule (.*)\.html http://sitname.ru/$1/ [R=301,L] # Подстановка файла (если нет директории с тем же именем и есть файл) RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule (.*)/$ $1\.html [END]
Всегда нужно учитывать порядок правил рерайта – сначала запреты, за ними редиректы, потом подстановки. Иначе что-нибудь работать не станет.
PS Немного поигрался с этим набором правил, теперь могу точно сказать, что в последней строке нужен флаг [END]. А флаг [L] вместо него способен вызвать "зацикливание" – и проверка для редиректа по .html, и подстановка тоже.
1nf1n1ty: Спасибо, прописал как указали. Все редиректит..только поясните..почему 302 редирект?:))) Прописать 301 как указано выше, а по факту отрабатывает 302. Как так?
По ошибке :) Второпях параметры попутал - нужно [R=301,L]
---------- Добавлено 13.11.2018 в 18:15 ----------
Abernutio: Добрый день, очень нужна помощь в редиректе
Сайт начал плодить дубли типа: https://sait/0_c/kategoria вместо https://sait/kategoria Иными словами, в url встраивается непонятная папка "0_с ". Можно как-то поправить это редиректом в htaccess?
А движок самостоятельно не отдает на это 404? Значит, недодуманный движок... и лучше поправить его, а не писать правила для mod_rewrite.
Но и в работе SQL тоже. Если бы в запросе было ("en","fr"), это было бы понято как перечисляемые значения. А работающая по ходу исполнения функция concat() отдает строку, и это не то же самое, что до исполнения вставить эту строку в запрос.
Там, где прямо в запросе MYSQL пытаетесь формировать этот запрос. Механический перенос из php?
Совсем простое – то, что во время интерпретации строки запроса эту строку бессмысленно изменять. А вы пытаетесь и запрос исполнить, и в то же время строку запроса изменить.
Asali: Сайт на WP, мультиязычный с индексами /en/ и /fr/, решили отказаться от языковых версий, сделать их отдельными сайтами потом.
Сейчас стал вопрос как настроить 301 редирект с английских и французких страниц на главную https://site.com/ (сайт вложенности site.com/category/ )
Помогите найти нужный редирект
Бизнес они делают за счет нас - а мы тут обсуждаем как им не обо ... ся :)
:) А это они знают и без наших обсуждений. Вот когда я увижу такие гневные речи в исполнении пользователей поиска, у которых нет и не было сайтов, тогда, пожалуй, поплачу над судьбой поисковика-неудачника. И то не сразу. А пока заказывать вагон попкорна рановато.
seotuk: Вы тоже на должности гугло промо говно стат ?
Лично у меня много опыта с эдвордсом - но нет четкой уверенности что нет понижения ....
Отсутствие внятных аргументов обычно провоцирует к сползанию на личности. А ля Балаганов/Паниковский ("А ты кто такой?").
Обычно за пару-тройку лет оптимизатор "наедается" досыта выкрутасами и Яндекса и Гугла и перестает удивляться. Заодно начинает понимать, что поисковикам от жизни надо. Заодно осознает, что это коммерческие проекты, которые не занимаются строительством Царства Всеобщей Справедливости в сети, а просто делают свой бизнес.
Вам, по всему, этот путь еще предстоит. Обо мне помолчим – я тут случайно напоролся на ролик, стало интересно, что за SEO такое, заодно услышал про Серч, спросил, где это – добрые люди подсказали. Вот, пришел. Интересуюсь... :)
seotuk: Вообще я ни против ни Эдсенса ни Директа - только бы точно знать что засветившись (дав разок рекламу на них) - мой сайт не будут писсимизировать в будущем - а так ссыкатно - Я понимаю что это коммерческая структура - и раз показав им что я могу им платить - ни каких гарантий что они не будут выжимать из меня все (понижая в выдаче) просто по тому что разок засветился. Паранойя, которая имеет место быть :)
Паранойю нужно лечить, а не лелеять.
Такой взгляд очень распространен. Особенно когда нет уверенности в том, что поведение ПС понятно, а контекстную рекламу пробовать еще не приходилось. Так и кажется, что ПС выгодно вести отбор платежеспособных клиентов, а потом искусственно склонять их к контекстной рекламе. А если поразмыслить? Ну, в порядке исключения подумать не лозунгами?
В выдаче по любому мало-мальски коммерчески ценному запросу топчутся самое малое десятки тысяч сайтов. Из них в топ10 – ровно 10 штук, это те, что получают трафик. И за десяткой уже начинаются слезы вместо трафика, а уж за двадцаткой... не будем об этом.
При том, что из десятков тысяч не 10 сайтов жаждут трафика, а сотни, как минимум. И каждый день появляются новые. Вы можете себе представить, что из этих сотен не найдется дюжины готовых платить за контекст? Я себе такого представить не могу. :) Особенно глядя в выдачу, где эта дюжина постоянно висит и исправно платит.
Чтобы при обращении например к
sitname.ru/filename.html
sitname.ru/filename
был ответ сервера 301 и редирект на
sitname.ru/filename/
То есть, у вас статика, а вы хотите файлы *.html представить как директории?
Вот так, к примеру.
Всегда нужно учитывать порядок правил рерайта – сначала запреты, за ними редиректы, потом подстановки. Иначе что-нибудь работать не станет.
PS Немного поигрался с этим набором правил, теперь могу точно сказать, что в последней строке нужен флаг [END]. А флаг [L] вместо него способен вызвать "зацикливание" – и проверка для редиректа по .html, и подстановка тоже.
Спасибо, прописал как указали.
Все редиректит..только поясните..почему 302 редирект?:))) Прописать 301 как указано выше, а по факту отрабатывает 302. Как так?
По ошибке :) Второпях параметры попутал - нужно [R=301,L]
---------- Добавлено 13.11.2018 в 18:15 ----------
Добрый день, очень нужна помощь в редиректе
Сайт начал плодить дубли типа: https://sait/0_c/kategoria вместо https://sait/kategoria
Иными словами, в url встраивается непонятная папка "0_с ".
Можно как-то поправить это редиректом в htaccess?
А движок самостоятельно не отдает на это 404? Значит, недодуманный движок... и лучше поправить его, а не писать правила для mod_rewrite.
Ну, а если поправить никак, тогда...
И поставьте это правило выше правил для движка.
Все верно, дело в типах.
Но и в работе SQL тоже. Если бы в запросе было ("en","fr"), это было бы понято как перечисляемые значения. А работающая по ходу исполнения функция concat() отдает строку, и это не то же самое, что до исполнения вставить эту строку в запрос.
Где косячу? 🙄
Там, где прямо в запросе MYSQL пытаетесь формировать этот запрос. Механический перенос из php?
Совсем простое – то, что во время интерпретации строки запроса эту строку бессмысленно изменять. А вы пытаетесь и запрос исполнить, и в то же время строку запроса изменить.
Привет! Подскажите, как сделать вот такой редирект в url страницы
http://domen.ru/page.php?url=http://drugoydomen.ru/lubayapage/
Не так уж и сложно. В page.php нужно примерно такое:
Это в самом простейшем виде.
---------- Добавлено 11.11.2018 в 21:05 ----------
1nf1n1ty, если нужно перенаправить все URL с /catalog/0/ - всё просто:
Сайт на WP, мультиязычный с индексами /en/ и /fr/, решили отказаться от языковых версий, сделать их отдельными сайтами потом.
Сейчас стал вопрос как настроить 301 редирект с английских и французких страниц на главную https://site.com/ (сайт вложенности site.com/category/ )
Помогите найти нужный редирект
RewriteRule ^(en|fr)\/(.*)$ https://site.com/ [R=301,L]
Это если нужно перенаправить все страницы с /en/ и /fr/ в начале URI на главную. А что такое "сайт вложенности" – вряд ли кто-то сможет понять...
Бизнес они делают за счет нас - а мы тут обсуждаем как им не обо ... ся :)
:) А это они знают и без наших обсуждений. Вот когда я увижу такие гневные речи в исполнении пользователей поиска, у которых нет и не было сайтов, тогда, пожалуй, поплачу над судьбой поисковика-неудачника. И то не сразу. А пока заказывать вагон попкорна рановато.
Вы тоже на должности гугло промо говно стат ?
Лично у меня много опыта с эдвордсом - но нет четкой уверенности что нет понижения ....
Отсутствие внятных аргументов обычно провоцирует к сползанию на личности. А ля Балаганов/Паниковский ("А ты кто такой?").
Обычно за пару-тройку лет оптимизатор "наедается" досыта выкрутасами и Яндекса и Гугла и перестает удивляться. Заодно начинает понимать, что поисковикам от жизни надо. Заодно осознает, что это коммерческие проекты, которые не занимаются строительством Царства Всеобщей Справедливости в сети, а просто делают свой бизнес.
Вам, по всему, этот путь еще предстоит. Обо мне помолчим – я тут случайно напоролся на ролик, стало интересно, что за SEO такое, заодно услышал про Серч, спросил, где это – добрые люди подсказали. Вот, пришел. Интересуюсь... :)
Вообще я ни против ни Эдсенса ни Директа - только бы точно знать что засветившись (дав разок рекламу на них) - мой сайт не будут писсимизировать в будущем - а так ссыкатно - Я понимаю что это коммерческая структура - и раз показав им что я могу им платить - ни каких гарантий что они не будут выжимать из меня все (понижая в выдаче) просто по тому что разок засветился. Паранойя, которая имеет место быть :)
Паранойю нужно лечить, а не лелеять.
Такой взгляд очень распространен. Особенно когда нет уверенности в том, что поведение ПС понятно, а контекстную рекламу пробовать еще не приходилось. Так и кажется, что ПС выгодно вести отбор платежеспособных клиентов, а потом искусственно склонять их к контекстной рекламе. А если поразмыслить? Ну, в порядке исключения подумать не лозунгами?
В выдаче по любому мало-мальски коммерчески ценному запросу топчутся самое малое десятки тысяч сайтов. Из них в топ10 – ровно 10 штук, это те, что получают трафик. И за десяткой уже начинаются слезы вместо трафика, а уж за двадцаткой... не будем об этом.
При том, что из десятков тысяч не 10 сайтов жаждут трафика, а сотни, как минимум. И каждый день появляются новые. Вы можете себе представить, что из этих сотен не найдется дюжины готовых платить за контекст? Я себе такого представить не могу. :) Особенно глядя в выдачу, где эта дюжина постоянно висит и исправно платит.
Я вот понять не могу. Наверное, потому что в SEO совсем недавно, как здесь подметили...
Вот шумят, что с Гугла трафа нет (или траф не такой – тоже понять не могу). Украина, грят, виноватая – вся сплошь на этом самом Гугле сидит.
http://www.liveinternet.ru/stat/forum.searchengines.ru/sources.html – смотрю и думаю: что это вся Украина села на google.ru, отчего это она свой .com.ua игнорирует? Или это чьи-то происки? Или Liveinternet, пройдоха, тоже заврался?