Конкретное правило php5 mod_rewrite для обработки введенной пользователем стороны сервера коротких URL? - PullRequest
0 голосов
/ 01 августа 2011

Я просмотрел множество ответов здесь, но не смог найти один достаточно конкретный, чтобы имитировать для моих нужд.Я не хочу создавать сокращенный URL-адрес, я ищу способ для сервера определить формат сокращенного URL-адреса, развернуть его и нормально отобразить страницу (и, конечно, не меняя внешний вид сокращенного URL-адреса вфактическая строка браузера браузера).Вот что я хотел бы сделать ...

У меня следующая структура URL:

http://www.mysite.com/members.php?user_name

Я бы хотел, чтобы пользователи получали доступ к этим динамическим страницам с использованием сокращенных URL-адресов.Они должны иметь возможность получить доступ к этой же странице, набрав:

http://www.mysite.com/users/user_name

.. и правило mod_rewrite будет знать, чтобы проанализировать ее как полный URL выше.Есть идеи, как это будет написано?Обратите внимание, что параметр не передается со значением.

PS: не пытаясь связываться с каким-либо кодом или параметрами приложения, просто ищите правило для простого чтения короткого URL и скрытой стороны сервера, если привсе возможно.Спасибо!

1 Ответ

1 голос
/ 01 августа 2011

Попробуйте что-то вроде

RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/users/(.*) /members.php?$1 [l]

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

РЕДАКТИРОВАТЬ: Изменено правило, чтобы соответствовать обновленный вопрос. Вы действительно должны прочитать документацию mod_rewrite . Также на основе обновленного URL два RewriteCond могут не понадобиться.

...