- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, помогите пожалуйста разобраться с редиректом динамической ссылки на ЧПУ.
Сделал редирект:
site.ru/?page=name удачно перенаправляет на site.ru/name/
Если ссылка site.ru/index.php?page=name То редирект не работает.
В .htaccess прописано:
RewriteRule ^index\.php$ http://site.ru [R=301,L]
Добавить как вариант
Пробовал. Это site.ru/index.php перекидывает на site.ru/ Голову уже сломал не могу разобраться:(
Попробуй...
PHPSID добавил 10.12.2011 в 19:05
RewriteCond %{QUERY_STRING} index.php?page=$1 [L]
RewriteRule ^$ /%1? [R=301,L]
Все , я спасть. Уже пишу не соображаю что...
Таким образом получается обратный редирект :)
site.ru/name/ перекидывает на site.ru/index.php?page=name
Full version
RewriteCond %{QUERY_STRING} page=([^&]*)
RewriteRule ^index\.php$ /%1? [R=301,L]
В данном случае браузер выдает ошибку:
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
sergeyy добавил 10.12.2011 в 19:25
В таком случае работает, но вид site.ru/name.html не годится :(
Значит эти правила пересекаются с другими которые приводят к зацикливанию.
Как вариант
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} page=([^&]*)
RewriteRule ^(index\.php)?$ /%1? [R=301,L]
Спасибо огромное, все заработало! Что означает данная директива RewriteCond %{ENV:REDIRECT_STATUS} ^$ ?