Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Редирект на html

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
-=1100=-
Отправлено: 29 Апреля, 2013 - 08:18:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Май 2007  
Откуда: Город Святого Петра


Помог: 0 раз(а)

[+]


День добрый.
Возникла такая проблема.
На сайте 30% страниц без *.html. Просто чистые алиасы.
Подскажите, кто знает, как написать редирект, что бы при отсутствии на конец html кидал на *.html
Пробовал так
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule !.(htm|html)$ $1.html [R=301,L]

Но не помогло.


-----
INSPIRON |6400
 
 Top
DlTA
Отправлено: 29 Апреля, 2013 - 09:31:20
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




регулярка не правильная
надо чет типа
(.+)(?!\.(html|htm))$ $1.html
 
 Top
-=1100=-
Отправлено: 29 Апреля, 2013 - 10:12:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Май 2007  
Откуда: Город Святого Петра


Помог: 0 раз(а)

[+]


Что то его зацикливает от такого редиректа.
Тут попробовал такой
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. RewriteRule (.+)[^\.html$] $1.html [L,R=301]
  3.  


А он почему-то берет адрес начиная с корня сервера /home/user/site/...
Дублиреут его раза 3 и на конец добавляем .html
(Добавление)
Yра!

Если кому надо будет, вот решение проблемы.
CODE (html):
скопировать код в буфер обмена
  1.  
  2. RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
  3. RewriteRule .* %1.html [R=301,L]
  4. RewriteRule ^(.*)/$ /$1.html [R=301,L]
  5.  


-----
INSPIRON |6400
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Apache и другие веб-серверы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB