Несколько правил в .htaccess

G2
На сайте с 12.01.2013
Offline
36
1160

Помогите пожалуйста, есть два правила в .htaccess:

RewriteEngine On

RewriteRule ^([^/\.]+)/?$ view_news_online.php?url=$1 [L]

RewriteRule ^([^/\.]+)/?$ view_films_online_2.php?url=$1 [L]

первое правило делает из ссылки mysite/view_news_online.php?url=kanal-russia-24 ссылку вида mysite/kanal-russia-24;

второе правило делает из ссылки mysite/view_films_online_2.php?url=film-1 ссылку вида mysite/film-1

но почему то у меня работает только первое правило, а второе не работает. Можно ли как то сделать чтоб работали эти два правила ?

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

Разве не видно что у них паттерн (регулярное выражение) одинаковое? Естественно срабатывать будет только первое совпадение. Надо делать различия в паттерне, например ^news, ^films и тд.

G2
На сайте с 12.01.2013
Offline
36
#2

типа так

RewriteEngine On

RewriteRule ^news([^/\.]+)/?$ view_news_online.php?url=$1 [L]

RewriteRule ^films([^/\.]+)/?$ view_films_online_2.php?url=$1 [L]

или по другому ?

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

типа так ^news/([^/\.]+)/?$, можно и так ^news-([^/\.]+)/?$

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

G2
На сайте с 12.01.2013
Offline
36
#4

о уже работает, только теперь у меня страница загружается без картинок и без стилей, а просто как пустая страница с текстом и ссылками без оформление. От чего это может быть ?

G2
На сайте с 12.01.2013
Offline
36
#6

все работает спасибо, а еще хотел спросить как сделать перенаправление с

mysite/view_films_2/film-1 на mysite/view_films/film-1 нужно чтоб из ссылки удалялось _2 Как такое сделать в htaccess ?

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

RewriteRule ^view_films_2/(.*) /view_films/$1 [L,R=301]

добавить нужно после RewriteEngine On но перед остальными правилами

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