The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с URL и .htaccess"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (.htaccess, паролирование)
Изначальное сообщение [ Отслеживать ]

"Проблема с URL и .htaccess"  +/
Сообщение от src email(ok) on 05-Сен-10, 23:26 
Привет всем.
Возникла проблемка, раньше не проявлявшаяся.

Имеется такой кусок .htaccess:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/?$ index.php?mod=$1 [L]

который делает из "http://site.com/catalog" - "http://site.com/index.php?mod=catalog"

При этом всё отлично работает, пока в URL не появляется символ "." (точка).

То есть если написать в адресной строке

"http://site.com/catalog&value=5.6", то вместо того, чтоб перебросить на "http://site.com/index.php?mod=catalog&value=5.6", пишет в браузере:

Not Found
The requested URL /catalog&value=5.6 was not found on this server.
Apache Server at znvideo.ru Port 80

Для ВСЕХ остальных случаев (без точки) всё работает.

Спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с URL и .htaccess"  +/
Сообщение от cryo (ok) on 06-Сен-10, 13:13 
Не совсем понятно, зачем исключается точка из допустимых символов. Поэтому попробуйте так:

RewriteRule ^(\S+)/?$ index.php?mod=$1 [L]

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Проблема с URL и .htaccess"  +/
Сообщение от src email(ok) on 06-Сен-10, 22:13 
С таким условием вообще не работает :-(

Как дать понять apache'у, что если есть точка, не надо искать файл с таким именем и расширением?

Хотелось бы всё-таки разобраться, очень актуально!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Проблема с URL и .htaccess"  +/
Сообщение от Кирилл_Н (ok) on 07-Сен-10, 13:25 
>С таким условием вообще не работает :-(
>
>Как дать понять apache'у, что если есть точка, не надо искать файл
>с таким именем и расширением?
>
>Хотелось бы всё-таки разобраться, очень актуально!

попробуйте так

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?mod=$1 [L]

видимо из-за отрицания в квадратных скобках точка воспринимается именно как точка, а не любой символ, отсюда такое поведение

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Проблема с URL и .htaccess"  +/
Сообщение от cryo (ok) on 07-Сен-10, 23:04 
И добавить

RewriteCond %{REQUEST_FILENAME} !-f

чтоб не только урлы с каталогами, но и с файлами не преобразовывались.

>RewriteCond %{REQUEST_FILENAME} !-d
>RewriteRule ^(.*)/?$ index.php?mod=$1 [L]

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру