Пользовательский URL с PHP - PullRequest
4 голосов
/ 30 июня 2011

У меня есть небольшой вопрос.Можно ли через php или htaccess изменить URL-адрес, например: miodominio.com/users.php?idu=x, на что-то вроде miodominio.com/username?

Я хочу, чтобы это был стиль Facebook ... Где "username" - это имя пользователя, выбранное idu = x.

Ответы [ 5 ]

4 голосов
/ 30 июня 2011

Существует несколько способов решения этой проблемы, но вот тот, который всегда соответствует моим потребностям.

Сначала направьте все ваши URL-запросы через index.php, а затем разрешите запрос в своем PHP-коде.

1) Используйте файл .htaccess для направления всех URL через index.php.Вы найдете один путь здесь с помощью инфраструктуры CodeIgniter и более подробное объяснение здесь .Во-первых, я рекомендую руководство CodeIgniter .htaccess, если вы не знакомы с .htaccess.

2) Во-вторых, используйте переменную $ _ SERVER в PHP для извлечения URL-адреса.Вероятно, с помощью $ _SERVER ['REQUEST_URI'] вы найдете '/ username /', который вы затем сможете использовать для извлечения данных пользователя и передачи их им.

Удачи и остерегайтесьURL-инъекции с использованием этого метода.

1 голос
/ 30 июня 2011

Для этого вам нужно использовать apache mod_rewrite.Он может перевести miodominio.com/username в miodominio.com/users.php?idu=x.Есть несколько хороших руководств по этому вопросу, которые легко найти в Google.

0 голосов
/ 30 июня 2011

Поместите следующее в ваш .htaccess

RewriteEngine on
RewriteRule ^([a-z0-9_-]+)/?$ /users.php?idu=$1 [NC]

[NC] сделает его без учета регистра, если вы принимаете только имя пользователя в нижнем регистре, удалите [NC] из последнего.

0 голосов
/ 30 июня 2011

Вы должны написать чистый URL в вашем файле .htaccess, например:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)/$ users.php?idu=$1
0 голосов
/ 30 июня 2011

Вы можете попробовать использовать этот шаблон mod_rewrite (добавьте его в .htaccess):

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ users.php?idu=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?idu=$1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...