2012-06-14 3 views
1

Я сталкиваюсь с проблемами с двумя аналогичными дружественными URL-адресами. Я упомянул следующие строки в htaccess.Два похожих дружественных URL-адреса - как отличить

RewriteRule ^user/([a-zA-Z0-9-]+) /sitename/profile.php?id_profile=$1 [QSA,L] 
RewriteRule ^user/([a-zA-Z0-9-]+)/articles /sitename/articles.php?id_profile=$1 [QSA,N] 

Когда я пытаюсь получить второй URL-адрес, он перенаправляет обратно на первый URL-адрес. Я предполагаю, что первая часть «пользователь» вызывает эту проблему.

Здесь id_profile - это строка. В php-файле я получаю соответствующий идентификатор пользователя (integer) для id_profile и выполняю оставшуюся часть действия.

Вот аналогичный рабочий пример. https://www.etsy.com/people/vinubhai https://www.etsy.com/people/vinubhai/favorites

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

Спасибо и наилучшие пожелания, Vineshkumar Kunhiraman

+0

положить ссылки в два отдельных '$ vars', это поможет? – poepje

ответ

0

Первое правило обрабатывается первым. измените порядок ваших правил, и ваша проблема должна быть решена.

первые статьи переписываются, затем пользователь переписывает.

+0

Спасибо, Гален и Майкл Диббетс, теперь он работает, обращая последовательность. –

2

Вы можете добавить $ закрепить конец строки или вы можете изменить порядок

RewriteRule ^user/([a-zA-Z0-9-]+)$ 

Это обыкновение Сопрягайте статьи URL

Переключение заказа приведет к тому, что статьи будут соответствовать первым, в то время как URL-адрес профиля не будет соответствовать правилу перезаписи статьи

 Смежные вопросы

  • Нет связанных вопросов^_^