htaccess маска динамический URL со статическим URL - PullRequest
0 голосов
/ 06 августа 2009

Я пытаюсь сделать что-то с .htaccess, но я не уверен, что это можно сделать.

Первое, что я сделал, - скрыл расширения .php, используя следующий код:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

Прекрасно работает.

Теперь, что я пытаюсь сделать и не могу понять, это следующее:

Когда пользователь вводит «mywebsite.com/products?id=12345» в адресную строку браузера, я хочу, чтобы сервер отображал правильную страницу продукта в соответствии с идентификатором, но отображал ее в адресной строке как «mywebsite.com / product "независимо от идентификатора продукта.

Возможно ли это сделать? Если да, то как?

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 августа 2009

Я закончил тем, что использовал ajax и сеансы, чтобы сделать процесс фильтрации понятным для пользователя. Я предполагаю, что то, что я пытался сделать, было невозможно с файлом htacess. В любом случае, спасибо!

0 голосов
/ 06 августа 2009

Это на самом деле невозможно в чистом виде. Чтобы изменить адресную строку, вам нужно отправить реальный HTTP перенаправление. Это означает, что вы будете получать новый запрос от браузера с тем, на что вы их перенаправили, и поэтому во втором запросе у вас больше не будет идентификатора продукта.

Есть два способа обойти это:

  • сделайте ваш сервер состоящим
  • хранить товар в печенье

Обе эти идеи плохие.

Почему вы все равно хотите это сделать? Хотите убедиться, что ваши пользователи не могут добавить ваши продукты в закладки? Это кажется довольно враждебным к пользователю.

...