Получите имя пользователя от URL в PHP

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

http://www.someniceandreliableurl.com/username

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

Я хочу заставить что-то любить Твиттер/Facebook/и т.д. быстрые URL...

twitter.com/username

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

5
задан Sasha Chedygov 6 May 2010 в 20:25
поделиться

4 ответа

Используйте 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 и позволяют фактическим файлам/папкам/скриптам игнорироваться правилом перезаписи. Последняя переписывает все ссылки, которые не являются файлами/папками/скриптами.

8
ответ дан 18 December 2019 в 11:54
поделиться

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

0
ответ дан 18 December 2019 в 11:54
поделиться

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

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

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

RewriteEngine On
RewriteRule   ^/(.*)$ /?user=$1 [QSA]
1
ответ дан 18 December 2019 в 11:54
поделиться

Вы можете использовать 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]
6
ответ дан 18 December 2019 в 11:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: