Как мне сделать читаемые ссылки? - PullRequest
3 голосов
/ 22 апреля 2009

Предположим, у меня есть URL http://example.com/user/me,, где me - это имя пользователя. Когда пользователь вводит URL-адрес в адресную строку, я хочу раскрыть детали пользователя. Я не хочу URL, такие как http://example.com/user.php?user=me

Любая помощь приветствуется, работая над LAMP

Ответы [ 3 ]

5 голосов
/ 22 апреля 2009

Один из способов сделать это - использовать модуль apache с именем mod_rewrite. Затем вы можете переписать URL-адреса для /user/([a-z]+), чтобы они указывали на /user.php?user=$1

Поиск документации для mod_rewrite для деталей.

4 голосов
/ 22 апреля 2009

Самый простой способ (в .htaccess, в конфигурации вашего сервера или в вашей конфигурации vhosts):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Это перенаправит все ваши запросы, которые не соответствуют файлу, каталогу или символической ссылке на ваш index.php. Там вы можете проверить URI запроса, чтобы определить, что делать. На самом деле вам понадобится какой-то диспетчер, который знает, как деконструировать URL, чтобы определить, какое действие следует предпринять. Фактически это может привести к некоторой реализации MVC, но это не является обязательным требованием.

0 голосов
/ 22 апреля 2009
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?u=$1
...