2013-10-14 3 views
0

Я нахожусь в процессе преобразования мои URLs дружественных URLы и я изо всех сил немного с некоторыми из них,URL дружественных и хранение иерархии

Например Допустим, сообщения и категории,

сообщение (подробно):

/post/the-title/10 /* /post.php?id=10 */ 

сообщений (список)

/posts/ /* /posts.php?what=last */ 
/posts/?what=top /* /posts.php?what=top */ 
... 

Но Что я не так S Юр, как реализовать категории для того, чтобы сохранить структуру URL-адресов, я хотел бы acomplish:

/posts/category-name/5 /* /posts.php?what=cat&id=5 */ 

Но это, как я заново переписывать мои URLs (для перечисления):

RewriteRule ^posts/$ posts.php?$1&friendly=1 [QSA] 

так что я считаю, что я должен preppend так, другой не вызывает, что-то вроде:

RewriteRule ^posts/(.+)/(.+) posts.php?what=cat&id=$2&friendly=1 
RewriteRule ^posts/$ posts.php?$1&friendly=1 [QSA] 

так вопросы, здесь, являются:

1) Это путь (рядом), чтобы идти? (ожидая, что типы URL будут меняться)
2) Установит ли RewriteRule перед тем, как другой заберет, что он не закончится в цикле?

Любой вход будет приветствовать, я хотел бы думать, что это до конца прежде чем к совершали Структура URL

ответ

1

Для «/ пост/заместитель главы/10/* /post.php?id=10 */"

RewriteRule ^post/[^/]+/([0-9]+)/?$ /post.php?id=$1&friendly=1 [L,QSA] 

Для "/ сообщений// * *//posts.php?what=last"

RewriteCond %{QUERY_STRING} !^what= 
RewriteRule ^posts/?$ posts.php?what=last&friendly=1 [L,QSA] 

Для"/сообщений /? какой = верх/* /posts.php?what = верхний */"

RewriteCond %{QUERY_STRING} ^what= 
RewriteRule ^posts/?$ posts.php?friendly=1 [L,QSA] 

Для "/ категория имя/сообщений/5/* /posts.php?what=cat & ID = 5 * /"

RewriteRule ^posts/[^/]+/([0-9]+)/?$ /posts.php?what=cat&id=$1&friendly=1 [L,QSA] 
+0

Спасибо за ваш Anser, так что порядок не имеет значения? –

+0

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

+0

Хороший @Jon +1. Я исправил недостающую строку '}' в строке запроса. Я считаю, что это может беспокоить ОП с ошибкой. –

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