RewriteRule изменить урл - htaccess

Обсуждение любых вопросов связанных с файлами конфигурации .htaccess

RewriteRule изменить урл - htaccess

Сообщение Bobsik » Ср июн 20, 2018 6:39 pm

Вечер добрый,

Такой вопрос.
Есть такой код с подменой урл через htaccess
Код: выделить все
RewriteRule ^folder/([_A-Za-z0-9-]+)$                 index.php?a=page&name=$1         [L]


Получается урл вида: site.com/folder/pagename
Вобщем с любым названием папки folder все замечательно работает, а вот как сделать, чтобы без папки был урл?
Нужен такой урл site.com/pagename

Спасибо.
Bobsik
 
Сообщений: 6
Зарегистрирован: Ср июн 20, 2018 6:36 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Чт июн 21, 2018 4:16 am

Убрать из шаблона folder/
Emilien
Мл. Сержант
 
Сообщений: 56
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Bobsik » Чт июн 21, 2018 5:08 am

Emilien писал(а):Убрать из шаблона folder/

Пробовал не работает. Страница не найденна.
Bobsik
 
Сообщений: 6
Зарегистрирован: Ср июн 20, 2018 6:36 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Bobsik » Чт июн 21, 2018 5:15 am

Все решил проблему. Надо просто было поставить сразу после RewriteCond, убрав folder, а если ставить ниже в списке то не работало.

Спасибо.
Bobsik
 
Сообщений: 6
Зарегистрирован: Ср июн 20, 2018 6:36 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Bobsik » Чт июн 21, 2018 7:16 am

Хм можно еще дополнительный вопрос, такой вариант работает только для первой записи после
RewriteCond

Как правильно сделать если у меня их несколько, например
Код: выделить все
RewriteRule ^([_A-Za-z0-9-]+)$        index.php?a=play&name=$1  [L]
RewriteRule ^([_A-Za-z0-9-]+)$                 index.php?a=page&name=$2  [L]

Если вписывать имя папки то все работате, а вот таким образом вторая запись уже не работает.
Спаибо.
Bobsik
 
Сообщений: 6
Зарегистрирован: Ср июн 20, 2018 6:36 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Чт июн 21, 2018 8:29 am

Правила применяются последовательно одно за другим в том порядке, в котором записаны.
С одинаковыми шаблонами ^([_A-Za-z0-9-]+)$ будет срабатывать только первое правило.
Шаблоны должны отличаться.
Emilien
Мл. Сержант
 
Сообщений: 56
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Bobsik » Чт июн 21, 2018 6:11 pm

Emilien, Окей, ясно, СПАСИБО БОЛЬШОЕ. А возможно как нибудь сделать, 2 вариант тоже без подпапки, только с другим правилом? Ну если нет то будем выкручиваться как нибудь.
Bobsik
 
Сообщений: 6
Зарегистрирован: Ср июн 20, 2018 6:36 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Emilien » Чт июн 21, 2018 7:53 pm

А есть ли какие-нибудь отличия у этих адресов, чтобы под них составить разные шаблоны.
Emilien
Мл. Сержант
 
Сообщений: 56
Зарегистрирован: Чт дек 10, 2015 3:35 am
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Сообщение Bobsik » Пт июн 22, 2018 8:07 am

Ну у меня страничка генерируется в зависимости от названия, например я добавил файл с названием Ronaldo Soccer, урл будет такой
site.com/index.php?a=play&name=ronaldo-soccer

Также и просто страничка, создаем страничку обратной связи Contact Us урл такой site.com/index.php?a=page&name=contact-us

Вот решил через htaccess попробовать сделать им адреса, без подкаталогов вида например site.com/ronaldo-soccer , site.com/contact-us и застрял, ну если вставлять названия папок, то да все работатет.
Bobsik
 
Сообщений: 6
Зарегистрирован: Ср июн 20, 2018 6:36 pm
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Htaccess

Кто сейчас на форуме

Зарегистрированные пользователи: нет зарегистрированных пользователей

cron