estic

Рейтинг
149
Регистрация
01.10.2017

Так можно и только правило использовать (RewriteRule без RewriteCond) с ".+". Но все это не охватывает строку запроса (query string), например /?p=2 😉

jector :
Возникла потребность переноса сайта на поддомен, но так, чтобы главная страница основного сайта осталась.

https://p20.ru/features/redirect

Первой "переломной" была сама 5.0. Потом 5.4-5.5 - это уже приближение к "современным реалиям".

Но, естественно, и между 5.0 и 5.4 были свои "вехи", например пространства имен - это 5.3.

beltur :
возможно кто-нибудь сталкивался с этим, как лучше поступить?

Полностью переработать.

MySQL 4 - очень старая версия и по меркам админов, и по меркам аналитиков. Она считалась "неполноценной" в профессиональном плане (не доросла до общепринятых стандартов).

Возможно, много переделывать и не придется, но проанализировать нужно все.

Если используется современный подход (единая точка входа), то второе правило не нужно. Если переходите с устаревших адресов наподопие /gbrowse.php?cat_id=57 или хотите убрать дубли по устаревшим адресам, тогда действительно нужна переадреасация при запросах по устаревшим адресам. При использовании единой точки входа такую переадресацию можно сделать на PHP в файле gbrowse.php и т.п. без добавления дополнительных правил для Web-сервера.

В общем обратитесь к программисту. Без полного понимания, что делаешь, в эти дебри лучше не соваться.

webledi :

Увидела в .htaccess на старом сайте такое правило редиректа

RewriteRule ^(cat/\d+)/  /$1 [R=301,L]

RewriteRule ^cat/([0-9]+)    /gbrowse.php?cat_id=$1 [L,QSA]

Но должен быть редирект наоборот: со страниц вида  gbrowse.php?cat_id=57 на страницу вида  cat/57

Подскажите, пожалуйста, как правильно указать такое правило. И что означает верхняя строка RewriteRule ^(cat/\d+)/  /$1 [R=301,L]

Обработка в каком файле выполняется? Я вам уже когда-то писал, что второе правило - это не обычный "редирект", а передача управления обработчику (внутреннее перенаправление).

Первое похоже на избавление от слэша.
Stek #:
Но если проблема базы - то получите ошибку от базы.  А 503 - это просто nginx (если он) не может данные получить от бакэнда.
"Ошибки от базы" как раз и представляются ответом 503. Профессиональные системы обычно не уточняют причину ошибки в содержимом, предназначенном пользователю. Могут просто "написать", не "выпячивая" статус 503: "что-то пошло не так...", "попробуйте еще раз...", "повторите попытку позже...", "обновите страницу..." и т.п.
88Vladimir88 #:
Просто я отправил на проверку данные российского паспорта, и как я сейчас понимаю, что надо было отправить фото украинского

Да, естественно.

Боюсь, для переноса домена "на российский паспорт" потребуется инициировать процедуру смены администратора на самого себя. Кстати, это интересный момент. Лучше спросить у регистратора или в КЦ. Может, в данном случае действительно разрешат упростить процедуру, приблизив ее к обычной замене паспорта, о чем выше писали.

webinfo #:
Потому как для старого домена уж точно не стоит маяться такой дурью.

Какой дурью? Делать переадресацию на новый домен? Или использовать для переадресации отдельный хост?

И то, и то делать стоит. Это простейшая вещь для тех, кто хоть немного разбирается в администрировании Web-серверов и занимается поддержкой серьезных сайтов.

SeVlad #:
Ну давай, объясни.
Уже можно было понять из сказанного мной ранее. Но попробую еще раз: Web-сервер быстро выполняет маршрутизацию по имени хоста, и больше никаких действий для разделения хостов (и выполнения в них разных действий) не требуется. А, используя алиасы, вы сначала заставляете маршрутизатор направить запросы с разными именами хостов в один (основной) хост, а потом внутри него пытаетесь выполнять ветвление по имени хоста. Это очевидное узкое место. Помимо выполнения лишнего ветвления могут быть и дополнительные задержки из-за того, что все это происходит внутри основного хоста.
SeVlad #:
Узнай уже про алиасы что ли..
Ну, давай расскажи. А потом я объясню, почему это худший вариант, раз сами не можете понять.
Всего: 1480