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

Форум Apache

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: 301 редирект на ту же страничку при 302 коде ошибки

Сообщения:  [1-10] 

 
 автор: TetRiska   (03.11.2011 в 20:10)   письмо автору
 
   для: cheops   (03.11.2011 в 19:57)
 

так сразу бросает на 404 при заходе на ссылку вместе с последним слешем

  Ответить  
 
 автор: cheops   (03.11.2011 в 19:57)   письмо автору
 
   для: TetRiska   (03.11.2011 в 19:50)
 

А если так (т.е. явно указать корень)?
RewriteRule ^tov-dir/([a-z0-9-]+)/([0-9]+)$ /tov-dir/$1/$2/ [L,R=301]

  Ответить  
 
 автор: TetRiska   (03.11.2011 в 19:50)   письмо автору
 
   для: cheops   (03.11.2011 в 19:43)
 

кидает на 404 ошибку

  Ответить  
 
 автор: cheops   (03.11.2011 в 19:43)   письмо автору
 
   для: TetRiska   (03.11.2011 в 18:19)
 

А добавьте пред последним правилом еще одно, явно указав код перенаправления
RewriteRule ^tov-dir/([a-z0-9-]+)/([0-9]+)$ tov-dir/$1/$2/ [L,R=301]

  Ответить  
 
 автор: TetRiska   (03.11.2011 в 18:19)   письмо автору
 
   для: cheops   (03.11.2011 в 17:22)
 

mod_rewrite

#Устанавливаем кодировку сайта
AddDefaultCharset UTF-8

#Переадресации при разных ошибках
ErrorDocument 401 http://www.engine-market.ua/
ErrorDocument 403 http://www.engine-market.ua/
ErrorDocument 404 http://www.engine-market.ua/page/notfound/
ErrorDocument 500 http://www.engine-market.ua/

#Включаем преобразование ссылок
RewriteEngine on

#Склеиваем все домена в один
RewriteCond %{HTTP_HOST} ^engine-market.ua$ [NC,OR]
RewriteCond %{HTTP_HOST} ^engine-market.com.ua$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.engine-market.com.ua$ [NC,OR]
RewriteCond %{HTTP_HOST} ^engine-market.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.engine-market.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^enginemarket.ru$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.enginemarket.ru$ [NC]
RewriteRule ^(.*)$ http://www.engine-market.ua/$1 [R=301,L]

RewriteRule ^tov-dir/([a-z0-9-]+)/([0-9]+)/$ index.php?modus=tov-dir&url=$1&num=$2 [L]
................

  Ответить  
 
 автор: cheops   (03.11.2011 в 17:22)   письмо автору
 
   для: TetRiska   (03.11.2011 в 16:58)
 

Так а вот эта папка 31 она физически существует или она организована при помощи mod_rewrite?

  Ответить  
 
 автор: TetRiska   (03.11.2011 в 16:58)   письмо автору
 
   для: cheops   (03.11.2011 в 16:47)
 

http://www.engine-market.ua/tov-dir/avtobusy-i-mikroavtobusy/31
должно переадресовать 301-м на
http://www.engine-market.ua/tov-dir/avtobusy-i-mikroavtobusy/31/

  Ответить  
 
 автор: cheops   (03.11.2011 в 16:47)   письмо автору
 
   для: TetRiska   (02.11.2011 в 15:39)
 

А вот эта папка category/234/ реально существует или она виртуальная?

  Ответить  
 
 автор: TetRiska   (03.11.2011 в 13:23)   письмо автору
 
   для: TetRiska   (02.11.2011 в 15:39)
 

нужна помощь

  Ответить  
 
 автор: TetRiska   (02.11.2011 в 15:39)   письмо автору
 
 

Всем привет. Приведу пример: нужно сделать 301 редирект при посещении странички http://www.site.ua/category/234 на http://www.site.ua/category/234/, т. е. при 302 коде ошибки, а именно всегда переадресовывать на урл с обратным бекслешем в конце. Я эту ошибку не обрабатываю, но обрабатываю остальные в хтаксессе:
#Переадресации при разных ошибках
ErrorDocument 401 http://www.site.ua/
ErrorDocument 403 http://www.site.ua/
ErrorDocument 404 http://www.site.ua/
ErrorDocument 500 http://www.site.ua/

Просто взять и обработать не выйдет, нужно переадресовать 301 редиректом на ту же самую только с обратным бекслешем.

Еще склеиваю домена как раз при помощи 301 редиректа:
#Склеиваем все домена в один
RewriteCond %{HTTP_HOST} ^site.ua$ [NC,OR]
RewriteCond %{HTTP_HOST} ^site.com.ua$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.site.com.ua$ [NC,OR]
RewriteCond %{HTTP_HOST} ^site.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.site.com$ [NC]
RewriteRule ^(.*)$ http://www.site.ua/$1 [R=301,L]

Заранее благодарен.

  Ответить  

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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