Попытка сделать переменную GET невидимой в URL, но сохранить ее полезность, используя mod_write
Добрый день всем,
Я пытаюсь овладеть магией mod_rewrite и нуждаюсь в совете / помощи.
Я пытаюсь превратить URL из:
http://www.domainname.com/preview/about/5
К этому:
http://www.domainname.com/preview/about
Проблема в том, что мне все еще нужно сохранить часть [id] исходного URL-адреса для последующего использования в качестве GET, и он не будет виден.
Код, который я имею до сих пор:
RewriteRule ^preview\/([^/]+)\/([^/]+)\/$ /preview\/$1?id=$2 [R=301,QSA]
RewriteRule ^preview\/([^/]+)\/$ ?mode=preview&id=$2 [L,QSA]
Это удается создать URL-адрес, как:http://www.domainname.com/preview/about/?id=5
и проходитID
через, мне просто нужно, чтобы? id = 5 был невидимым в URL.
Заранее спасибо всем, у кого есть решение для этого, высоко ценится.
ОБНОВИТЬ:
Мне удалось заставить следующий код работать, как и ожидалось, увы, он использует статические значения для идентификатора. Все, что мне теперь нужно для завершения, - это заставить его работать с динамическими значениями для идентификатора.
RewriteRule ^preview\/([^/]+)\/([^/]+)\/$ /preview\/$1 [R=301,QSA]
RewriteCond %{QUERY_STRING} !.*id=5.*$
RewriteRule ^preview\/([^/]+)\/$ ?mode=preview&id=5 [L,QSA]