- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, уважаемые форумчане. Мне нужно сделать редирект после переноса сайта с wp. ЗАдача банальная, нужно uri вида /?p=4 преобразовать в /1/1/4 - это как пример. НУ или /?p=330 в /1/1/330.
Вставляю в .htaccess строку
RewriteRule /?p=(.+)$ /1/1/$1 [R=301,L]
Вообще ноль реакции при наборе адреса mysite/?p=4, показывает главную страницу, как и положено при неизвестных параметрах.
правило стоит первым сразу после RewriteBase /
Options +FollowSymlinks
RewriteBase /
RewriteRule ^/?p=(.+)$ /1/1/$1 [R=301,L]
RewriteEngine on
RewriteCond %{QUERY_STRING} p=1 [OR]
RewriteCond %{QUERY_STRING} p=[^0-9]
RewriteRule (.*) http://www.mysite.ru/$1 [R, L]
RewriteEngine on
RewriteCond %{QUERY_STRING} p=1 [OR]
RewriteCond %{QUERY_STRING} p=[^0-9]
RewriteRule (.*) http://www.mysite.ru/$1 [R, L]
=
Internal Server Error
лишний пробел, вот протестировано электроникой:
Options FollowSymLinks
RewriteCond %{QUERY_STRING} ^p=([0-9]+)$
RewriteRule (.*) http://site.ru/1/1/%1? [R=301,L]
RewriteEngine on
RewriteCond %{QUERY_STRING} ^p=(\d+)
RewriteRule ^$ http://www.mysite.ru/1/1/%1? [R=301,L]
лишний пробел, вот протестировано электроникой:
Спасибо, это отличный вариант. Хотя уже сделала на пхп прямо в индексном файле :)
Но пожалуй воспользуюсь вашим способом. Хотя для меня осталось загадкой почему не сработал мой вариант
---------- Добавлено 17.07.2013 в 14:26 ----------
RewriteEngine on
RewriteCond %{QUERY_STRING} ^p=(\d+) [OR]
RewriteRule ^$ http://www.mysite.ru/1/1/%1? [R=301,L]
Это вариант выдал вот что
Неверное перенаправление на странице
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
Это вариант выдал вот что
Без [OR]
RewriteCond %{QUERY_STRING} ^p=(\d+)