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

Форум Apache

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

 

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

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

тема: Добавить закрывающий слэш
 
 автор: Косорылый   (14.01.2011 в 16:20)   письмо автору
 
 

Как прописать правило в .htaccess
чтобы ,если в конце url нет слэша или расширения ( .html ) добавлялся завершающий слэш
Есть ли красивое решение ?

  Ответить  
 
 автор: cheops   (14.01.2011 в 16:22)   письмо автору
 
   для: Косорылый   (14.01.2011 в 16:20)
 

Хм... вообще-то Apache это должен делать самостоятельно.

  Ответить  
 
 автор: Trianon   (14.01.2011 в 16:36)   письмо автору
 
   для: Косорылый   (14.01.2011 в 16:20)
 

http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryslash

  Ответить  
 
 автор: psychomc   (14.01.2011 в 16:36)   письмо автору
 
   для: Косорылый   (14.01.2011 в 16:20)
 

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
</IfModule>

  Ответить  
 
 автор: Косорылый   (14.01.2011 в 16:52)   письмо автору
 
   для: psychomc   (14.01.2011 в 16:36)
 

Это условия ,а где RewriteRule

  Ответить  
 
 автор: psychomc   (14.01.2011 в 19:34)   письмо автору
 
   для: Косорылый   (14.01.2011 в 16:52)
 

неужели сложно создать .htaccess, вставить в него эти строки и проверить как это работает?
глупые вопросы отпадут сразу

  Ответить  
 
 автор: Косорылый   (15.01.2011 в 16:07)   письмо автору
 
   для: Косорылый   (14.01.2011 в 16:52)
 

Решено:
# Добавляем слеш в конце пути
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L,QSA]


если без слэша ,то заголовки 301 _подставили слэш_200_уже со слэшем
осталось определится какой редирект надо:
302 временно перемещён [R] или
301 постоянно [R=301]
Наверно правильнее 301 для склейки одинаковых ссылок со слэшем и без
Кто как думает?

  Ответить  
 
 автор: kosta_in_net   (28.01.2011 в 17:47)   письмо автору
 
   для: Косорылый   (15.01.2011 в 16:07)
 

конечно 301, чтоб поисковики не пытались индексировать копии без слешей

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

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