Получить имя пользователя из URL в PHP - PullRequest
5 голосов
/ 07 мая 2010

я хочу что-то вроде этого:

http://www.someniceandreliableurl.com/username

и поймайте имя пользователя.

Я хочу сделать что-то вроде твиттеров / фейсбук / и.т.д.

twitter.com/username

Как я могу сделать что-то подобное с php? =) заранее благодарю.

Ответы [ 4 ]

8 голосов
/ 07 мая 2010

Используйте mod_rewrite в вашем .htaccess файле:

RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR] 
RewriteCond %{REQUEST_FILENAME} -d [NC] 
RewriteRule .* - [L]
RewriteRule ^(.*)$ /foo.php/$1 [QSA,L]

Где foo.php - ваш скрипт для отображения страниц быстрого URL.

Затем в foo.php (или как вы его назвали) вы можете поймать имя пользователя в $_SERVER['PATH_INFO'].

Первые 5 строк включают mod_rewrite и позволяют фактическим файлам / папкам / сценариям игнорироваться правилом перезаписи. Последний переписывает все URL, которые не являются штрафами / папками / скриптами.

6 голосов
/ 07 мая 2010

Вы можете использовать RewriteRule в apache, чтобы преобразовать site.com/user в site.com/loadpage.php?user=user

.
RewriteEngine On
RewriteRule ^/([a-z0-9]+)  /load_user.php?user=$1 [NC,L,QSA]
1 голос
/ 07 мая 2010

Вам нужно попросить веб-сервер переписать этот URL в строку запроса с данными, к которым вы можете получить доступ из PHP. Сделайте ваш PHP-скрипт для работы с URL-адресами вроде

http://www.someniceandreliableurl.com/?user=username

Затем убедитесь, что в apache установлен mod_rewrite и разрешено использовать .htaccess. Затем создайте файл .htaccess с правилом перезаписи, например

RewriteEngine On
RewriteRule   ^/(.*)$ /?user=$1 [QSA]
0 голосов
/ 07 мая 2010

Оформить заказ ModRewrite в Apache или использовать среду php, которая предлагает маршрутизацию. Как правило, это основано на переменной $ENV['PHP_SELF'], которая позволяет вам делать в коде php гораздо больше, чем обычно требуется в ModRewrite. Он вернет часть URL-адреса после имени хоста, поэтому вы можете использовать URL-адреса, например http://exmaple.com/index.php/username/profile.

...