Специальная ссылка на страницу профиля, например www.domain.com/username - PullRequest
1 голос
/ 15 января 2011

Эй, ребята, у меня есть вопрос. Я хочу создать страницу профиля для каждого нового пользователя, и я заметил, что на Facebook вы можете просто ввести www.facebook.com/username и перейти на страницу пользователя, мой вопрос, как я могу сделать это без чего-то вроде домена .com / users.php? useraname = "username" или что-то в этом роде? Как я могу просто сделать это как Facebook?

Ответы [ 4 ]

2 голосов
/ 15 января 2011

Что вы ищете, это mod_rewrite. Это позволит вам написать код PHP, который кажется конечному пользователю каталогом на сервере (например, www.facebook.com/user.php?username в www.facebook.com/username.)

Введение в них с помощью PHP можно найти здесь: http://wettone.com/code/clean-urls

Обратите внимание, что вам нужно включить его на вашем сервере. Это должно быть возможно в файле .htaccess, если вы используете сервер Apache.

0 голосов
/ 11 мая 2011

Опции + FollowSymLinks
ПереписатьEngine On
RewriteBase / php / profile RewriteCond% {SCRIPT_FILENAME}! -D
RewriteCond% {SCRIPT_FILENAME}! -F
RewriteRule ^ users /(.) $ ./profile.php

http://exapmle.com/users/waqar.alamgir

в $ _SERVER ['REQUEST_URI'] вы увидите пользователей / waqar.alamgir

0 голосов
/ 15 января 2011

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

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

Теперь существует какой-то механизм перезаписи URL почти для каждого программного обеспечения веб-сервера. В случае Apache как наиболее популярного программного обеспечения для веб-серверов существует mod_rewrite , который позволяет перезаписывать URL-адреса на основе правил. В этом случае следующее может позволить /users.php?username=username быть также доступным через /username:

RewriteEngin on
RewriteRule ^[a-z]+$ index.php?username=$0
0 голосов
/ 15 января 2011

Это не полный ответ, так как я НЕ php парень

То, что вы ищете для RESTful URL, в основном вы можете получить такие URL в своем веб-приложении, если вы используете среду, котораяподдерживает URL-адреса restful

См. этот вопрос SO:
URL-адреса в стиле REST и PHP

См. эту статью:
http://blog.garethj.com/2009/02/building-a-restful-web-application-with-php/

Поиск в Google и Поиск SO с помощью Google

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...