Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: .htaccess переадресация без параметра (пару вопросов)
 
 автор: DePro   (25.04.2012 в 21:58)   письмо автору
 
 

Вечер добрый.
В .htaccess есть запись
Redirect 301 /html/catalog/sect/page1.php http://site.ru/catalog/id_sect/
Как выставить если такая ситуация /html/catalog/sect/page1.php?param=1
т.е. переадресация происходит, но с param: http://site.ru/catalog/id_sect/?param=1

И второй вопрос:
есть адрес /html/catalog/sect/page1.php
какое правило должно быть что бы отображалось /html/catalog/sect/page1/

  Ответить  
 
 автор: DePro   (01.05.2012 в 09:24)   письмо автору
 
   для: DePro   (25.04.2012 в 21:58)
 

ап

  Ответить  
 
 автор: Sfinks   (01.05.2012 в 12:50)   письмо автору
 
   для: DePro   (25.04.2012 в 21:58)
 

> т.е. переадресация происходит, но с param: http://site.ru/catalog/id_sect/?param=1
Вы забыли написать что нужно. Нужно чтоб стирался параметр? Тогда так:
Redirect 301 /html/catalog/sect/page1.php http://site.ru/catalog/id_sect/
—>
RewriteEngine On
RewriteBase /
RewriteRule ^html/catalog/sect/page1.php$ html/catalog/id_sect/? [R=301,L]
# и следующая строчка сразу ответ на второй вопрос.
RewriteRule ^html/catalog/sect/page1/$ html/catalog/sect/page1.php [L]
-----------
Только я вот из вопроса не могу понять присутствует в http-пути "html/" или это часть внутреннего пути на сервере. Если это внутренний путь - тогда из моего кода их повытирайте.

  Ответить  
 
 автор: DePro   (01.05.2012 в 15:04)   письмо автору
 
   для: Sfinks   (01.05.2012 в 12:50)
 

Спасибо за ответ.
Но что-то не совсем срабатывает.

Занес в .htaccess

RewriteEngine on
RewriteBase /
RewriteRule ^pages/production/catalog1/page1.php?param1=tv$ production/2/? [R=301,L]


Т.е. юзер попадая на страницу pages/production/catalog1/page1.php?param1=tv должен быть переброшен на страницу production/2/

  Ответить  
 
 автор: Sfinks   (01.05.2012 в 20:16)   письмо автору
 
   для: DePro   (01.05.2012 в 15:04)
 

В RewriteRule пишется только файл и путь к нему. Если нужно учесть строку гет параметров, нужно перед ним прописать еще ограничение:
RewriteCond %{QUERY_STRING} ^param1=tv$
RewriteRule ^pages/production/catalog1/page1.php$ production/2/? [R=301,L]

  Ответить  
 
 автор: DePro   (02.05.2012 в 12:43)   письмо автору
 
   для: Sfinks   (01.05.2012 в 20:16)
 

Да, спасибо получилось

  Ответить  
 
 автор: DePro   (03.05.2012 в 20:57)   письмо автору
 
   для: Sfinks   (01.05.2012 в 20:16)
 

А использование RewriteRule вместо Redirect на SEO не повлияет?

  Ответить  
 
 автор: Sfinks   (04.05.2012 в 00:04)   письмо автору
 
   для: DePro   (03.05.2012 в 20:57)
 

В обоих случаях клиент (в данном случае бот) получает заголовок - 301 Moved Permanently. Кто ему его отдает он понятия не имеет. Хоть PHP.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования