Samail, спасибо, но почему-то не срабатывает...
Сайт на вордпрессе, там еще стандартное от вордпресса есть:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
Подскажите, пожалуйста, как сделать редирект для одной страницы с https на http?
Со страницы https://site.com/page.php на http://site.com/page.php
Да, такой вариант работает. Спасибо!
Если просто добавить QSA:
RewriteCond %{QUERY_STRING} ^user=(.*)$
RewriteRule ^index\.php(\?.*)?$ /admin/index.php?user=$1 [L,QSA]
То с исходного http://site.ru/index.php?user=Nick.Name идет редирект на http://site.ru/?user=Nick.Name - то есть редирект как надо не работает.
Думаю, я где-то в синтаксисе напортачил, кто в нем хорошо разбирается, проверьте, пожалуйста.
Сейчас все редиректы выглядят вот так:
<IfModule mod_rewrite.c>RewriteEngine On RewriteCond %{HTTP_REFERER} carsRewriteCond %{HTTP_REFERER} !mydomain\.comRewriteCond %{REQUEST_URI} !^/category/Cars [NC]RewriteRule .* http://mydomain.com/category/Cars? [R,L]RewriteRule ^category/([^/]+)/?$ /category.php?category=$1 [L]RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /category\.php\?category=([^\ ]+)\ HTTP/RewriteRule ^category\.php$ http://mydomain.com/category/%1? [R=301,L]Options +FollowSymLinksRewriteCond %{HTTP_HOST} ^www.mydomain\.com$ [NC]RewriteRule ^(.*) http://mydomain.com/$1 [R=301,L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*) http://mydomain.com/ [R=301,L]</IfModule>
При переходе с домена, в урле которого есть слово cars, получаю "Загрузка веб-страницы по адресу http://mydomain.com/category/Cars вызвала слишком много переадресаций." При этом, если просто зайти на страницу http://mydomain.com/category/Cars , то она открывается нормально.
siv1987, спасибо за вариант, но проблема с циклической переадресацией так же осталась. :(
Только теперь ошибка выглядит так "Загрузка веб-страницы по адресу http://mydomain.com/category/Cars вызвала слишком много переадресаций.".
Доллар убрал, проблема осталась. Страница с вопросом (http://mydomain.com/category/Cars?category=Cars) получается уже после всех редиректов, на ней все и стопорится. Так-то ссылка ведет на главную страницу http://mydomain.com/, а должно редиректить на страницу категории http://mydomain.com/category/Cars---------- Добавлено 02.08.2012 в 21:09 ----------
Да, тоже надо поправить, спасибо. :)
Результат тот же...
Хм... Добавляю эти правила последними, перед </IfModule> и все равно получаю циклическую переадресацию - "Загрузка веб-страницы по адресу http://mydomain.com/category/Cars?category=Cars вызвала слишком много переадресаций."
ivan-lev, большое спасибо!
Если вас не затруднит, прокомментируйте пожалуйста еще пару вопросов:
Вот в этой строчке
RewriteCond %{HTTP_REFERER} cars
возможно ли как-то перечислять искомые слова или же их можно записывать только по одному для каждой строчки?
RewriteCond %{HTTP_REFERER} cars RewriteCond %{HTTP_REFERER} automobile RewriteCond %{HTTP_REFERER} machine RewriteCond %{HTTP_REFERER} !mydomain\.com RewriteRule .* http://mydomain.com/category/Cars [R,L]
И еще, возможно ли этот редирект как-то подружить вот с этим редиректом, который уже есть на сайте? Возникает ошибка "На этой странице обнаружена циклическая переадресация".
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^category/([^/]+)/?$ /category.php?category=$1 [L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /category\.php\?category=([^\ ]+)\ HTTP/ RewriteRule ^category\.php$ http://www.mydomain.com/category/%1? [R=301,L] Options +FollowSymLinks RewriteBase / RewriteCond %{HTTP_HOST} ^www.mydomain\.com$ [NC] RewriteRule ^(.*) http://mydomain.com/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) http://mydomain.com/ [R=301,L] </IfModule>