terra07

Рейтинг
56
Регистрация
04.01.2010

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} cars
RewriteCond %{HTTP_REFERER} !mydomain\.com
RewriteCond %{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 +FollowSymLinks
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>

При переходе с домена, в урле которого есть слово 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 ----------

ivan-lev:
p.s. редиректы зачётные.. сначала на www, потом на "без www"

Да, тоже надо поправить, спасибо. :)

Результат тот же...

Хм... Добавляю эти правила последними, перед </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>
12 3
Всего: 30