переадресация url c переменными $_GET

Обсуждение любых вопросов связанных с файлами конфигурации .htaccess

переадресация url c переменными $_GET

Сообщение keradan » Ср май 21, 2014 11:07 pm

Всем привет
много искал в нете вроде ответа не нашел, а те которые нашел слишком мутные примерные, их нужно переделывать да и они все равно не работают.
Видимо потому что задача сама по себе странная.
Да и плюс я в регулярках плохо разбираюсь

Требуется сделать так чтобы любая ссылка С ПЕРЕМЕННЫМИ (когда есть вот эта часть: ?view=catalog&gods=truba_1&f=3) ведущая на сайт переадресовывалась в пустоту, в результате чего сервер выдаст 404, а 404 у меня переадресовываются на готовую страницу.
зачемпочему..?
я установил в .htaccess ЧПУ, так что теперь у меня все ссылочки выглядят красиво: http://мой_сайт/home/переменная_1/переменная_2.html
Но адрес обычный с переменными $_GET
?переменная_1=x&переменная_2=y
остался и работает.
любой кто сталкивался с сео знает что это на языке поисковиков называется "дублированный контент"
контента на сайте многовато, так что прописывать весь этот список в роботс влом да и я всегда стремлюсь к максимальной автоматизации, так как мне/кому-то потом с этим работать прийдется..
По этому я хочу чтобы все ссылки были однотипны, с виду статичны. Я так прикинул достаточно просто идетнифицировать знак вопроса в урл

Не исключаю что способ предложенный мною кому-то покажется глупым, ведь я почему-то не нашел ответа.
если что подскажите как сделать подобную функцию более вразумительным путем.

Все же:
я написал правило так:
RewriteRule ^index\.php\?+$ /404.html [R=301,L]
переадресация работает вообще на всех страницах сайта, там где есть что-либо после http://мой_сайт/
тоесть грузится только главная когда пусто после слеша...
Вроде-бы как достаточно сделать нормальную регулярку...
я много вариантов перепробовал, это единственный который вообще хотя-бы переадресовывает..
если что я пытался еще так:
^\?+$ или ^.*\?.*$
я в регулярках не силен так что...

к стати при попытках использовать RewriteCond у меня ИНОГДА сервер выдавал internal error
С файлом .htaccess у меня опыт работы насчитывает 2 дня включая сегодня.

на всякий случай приведу весь файл (пока коротенький):
Код: выделить все
# Do not remove this line or mod_rewrite rules and search engine friendly URLs will stop working
RewriteBase /

RewriteEngine on

# Ограничиваем урл так чтобы переменные не передавались (проблемная строка)
RewriteRule ^index\.php\?+$ /404.html [R=301,L]

# ЧПУ:
RewriteRule ^home/([^/]+)\.html+$ index.php?view=$1 [L]
RewriteRule ^home/([^/]+)/+([^/]+)\.html+$ index.php?view=$1&title=$2 [L]

# Переадресация ошибки 404
ErrorDocument 404 /home/p_404.html


Прошу помогите ибо я сам уже запарился за пол дня мудоханья с этим хтаксесом
keradan
 
Сообщений: 2
Зарегистрирован: Ср май 21, 2014 10:32 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение keradan » Ср май 21, 2014 11:15 pm

Есть еще идея как альтернатива,
ссылку вида
http://мой_сайт/index.php?view=category_katalog&title=complect
переадресовывать 301 по адресу
http://мой_сайт/home/category_katalog/complect.html

То есть как ЧПУ только наоборот, и в конце не отправка на сервер готового адреса, а переадресация на сформированный.
Если я правильно понимаю такой вариант по идее смутить поисковика не должен. Прошу исправьте меня если что.
keradan
 
Сообщений: 2
Зарегистрирован: Ср май 21, 2014 10:32 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение sajjad123 » Пт дек 12, 2014 4:54 am

Здравствуйте
помогите настроить файл .htaccess
Уже 2-й день мучаюсь а толку мало
проблема в чем



___________________________________
Decrease your exam stress by using our latest 70-247 dumps and best quality testking and Testking.net pass guarantee Southern California Institute of Architecture and Florida Southern College.
sajjad123
 
Сообщений: 1
Зарегистрирован: Пт дек 12, 2014 4:24 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Htaccess

Кто сейчас на форуме

Зарегистрированные пользователи: нет зарегистрированных пользователей

cron