.htaccess -> need help!

P
На сайте с 02.06.2006
Offline
123
609

Привет всем. Нужна помощь знатоков htaccess.

Начал переделывать один старый проектик, и столкнулся с небольшой (для кого-то) проблемой.

В корне сайта лежит файл view_articles.php, в файле htaccess есть строка которая преобразует урлы страницы такого вида

http://site.ru/view_articles.php?url в такой вид

http://site.ru/articles/url.htm

Вот эта строка:

RewriteRule ^articles/([^/]*)$ /view_articles.php?url=$1 [L]

У меня задача создать уже теперь настоящую папку articles/ и положить туда файлы view_articles.php и index.php,

когда я создал в корне сайта папку articles/ и положил туда файл index.php и view_articles.php,

при обращении к урл http://site.ru/articles/ файл index.php игнорируется и обрабатывается файл view_articles.php, выводится ошибка.. впрочем и сам view_articles.php не работает нормально..

файл htaccess я подправил так:

RewriteRule ^articles/([^/]*)$ /articles/view_articles.php?url=$1 [L]

но это результата не дало, да и наверное не могло дать..

Подскажите пожалуйста, как правильно прописать RewriteRule что бы работали оба файла?

siv1987
На сайте с 02.04.2009
Offline
427
#1

RewriteCond %{REQUEST_URI} !\.php$

RewriteRule ^articles/([^/]*)$ /articles/view_articles.php?url=$1 [L]

или

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^articles/([^/]*)$ /articles/view_articles.php?url=$1 [L]

P
На сайте с 02.06.2006
Offline
123
#2
siv1987:
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule ^articles/([^/]*)$ /articles/view_articles.php?url=$1 [L]

или
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^articles/([^/]*)$ /articles/view_articles.php?url=$1 [L]

Не без вашей помощи допер, у меня ошибка в другом была, так все работает. Спасибо.

А вот адрес 'site.ru/articles/' открывается все через тот же view_articles.php, хотя там же лежит и index.php

Как с этим быть?

J
На сайте с 20.02.2014
Offline
120
jkm
#3

Поменять квантификатор * (ноль или более) на + (один или более)

^articles/([^/]+)$

P
На сайте с 02.06.2006
Offline
123
#4
jkm:
Поменять квантификатор * (ноль или более) на + (один или более)
^articles/([^/]+)$

Теперь всё работает, спасибо.

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