Реклама на сайте Advertise with us

Модреврайт не работает на урлах, где встречается точка

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 02.01.09
Сообщения: 6
Рейтинг: 12

Ссылка на сообщениеДобавлено: 29/08/17 в 11:54       Ответить с цитатойцитата 

Коллеги, столкнулся с проблемой: есть урлы вида

domain.ru/dir.name/subdir/index.htm

надо убрать index.htm и оставить урлы вида

domain.ru/dir.name/subdir/

Код:

<IfModule mod_rewrite.c>
   Options +FollowSymLinks
   RewriteEngine On

   RewriteRule ^(.*)index.htm$ http://test1.ru/$1 [R=301,L]

</IfModule>


корректно работает для урлов вида

domain.ru/dir.name/subdir/index.htm
domain.ru/dirname/index.htm

Но категорически не работает на категории domain.ru/dir.name/index.htm где в "dir.name" есть точка.

Куда копать, чего не хватает в правиле? Убрать точку нельзя, категория очень большая, в индексе тьма страниц.

Последний раз редактировалось: indelible[p]ink (29/08/17 в 12:49), всего редактировалось 1 раз

0
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 29/08/17 в 12:20       Ответить с цитатойцитата 

1.
indelible[p]ink писал:
корректно работает для урлов вида

domain.ru/dir.name/subdir/index.htm
domain.ru/dirname/index.htm

Но категорически не работает на категории domain.ru/dir.name/subdir/index.htm где в "dir.name" есть точка.

Куда копать, чего не хватает в правиле? Убрать точку нельзя, категория очень большая, в индексе тьма страниц.


Пререпроверь код ещё раз ибо у тебя и в вопросе каша:
Цитата:
корректно работает для урлов вида domain.ru/dir.name/subdir/index.htm Но категорически не работает на категории domain.ru/dir.name/subdir/index.htm


2. Зачем использовать Module mod_rewrite.c, и тут же примерять код для .htaccess? Не проще тогда перенести всё в htaccess ? Я имею ввиду флаг [L], который не работает в данном контексте.

3. Что означает "категорически не работает"? Какая ошибка снаружи и в логах?

4. Пробовал точку экранировать?
Код: [развернуть]

1
 



С нами с 02.01.09
Сообщения: 6
Рейтинг: 12

Ссылка на сообщениеДобавлено: 29/08/17 в 12:48       Ответить с цитатойцитата 

Снаружи с урла domain.ru/dir.name/subdir/index.htm перебрасывает на domain.ru// (именно так, с двумя слешами на конце).

Пробовал экранировать точку, пробовал городить конструкции с явным указанием dir.name. Всё равно шляпа с двумя слешами на выходе.

Где на Денвере искать нужные логи? Я сейчас на нём бьюсь :/

Стартпост поправил, спасибо smail54.gif

0
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 29/08/17 в 13:30       Ответить с цитатойцитата 

А сам урл с точкой http://domain.ru/dir.name/subdir/ не редиректит на http://domain.ru// ?

0
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 29/08/17 в 13:38       Ответить с цитатойцитата 

Опять же этот код взят для htaccess
В твоём варианте путь запроса в переменную $1 попадает с начальным слешем.
Перенеси
Код:
RewriteEngine On
RewriteRule ^(.*)index.htm$ http://test1.ru/$1 [R=301,L]

В в htaccess и всё может заработать.

4
 



С нами с 02.01.09
Сообщения: 6
Рейтинг: 12

Ссылка на сообщениеДобавлено: 29/08/17 в 13:50       Ответить с цитатойцитата 

smail54.gif спасибо!

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »