Как сделать отдельную страничку для каждого пользователя на сайте? Например mysite.ru/vasiya? Раньше я делал типа: .../user.php?id=vasiya. Как сделать аля контакт?) это трюк с htmlaccess? не может же быть что для каждого пользователя отдельный файл.... заранее спасибо!
-
2127.0.0.1/trol = 127.0.0.1/user.php?id=trol => RewriteRule ^([0-9a-zA-Z]+)$ user.php?id=$1– Илюшка Овчинников26 июн 2012 в 17:00
-
3С помощью mod_rewrite происходит преобразование адресов запроса к серверу. Например все что стоит после id будет передаваться как параметр другому скрипту, при преобразовании id1234 в userInfo.php?id=1234 как в комментарии @илюшка овчинников– ReinRaus26 июн 2012 в 17:47
-
1@илюшка овчинников, к слову, это называется ЧПУ (человекопонятный URL).– Nofate ♦26 июн 2012 в 19:59
Добавить комментарий
|
2 ответа
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
index.php
<?
if(isset($_SERVER['REQUEST_URI'])) {
if(preg_match('#id(\d+)#i',$_SERVER['REQUEST_URI'],$matches)) {
print_r($matches);
}
}
Про vk.com/id***
: там не Apache с .htaccess
, а nginx, и конфиг примерно так выглядит:
server {
server_name vk.com;
...
rewrite ^/id(\d+)$ /controllers/id.php?id=$1;
rewrite ^/([a-zA-Z\.\-]+)$ /controllers/nickname.php?nickname=$1;
}
Подробнее про rewrite в nginx.
-
VK.COM использует Apache! Только он выступает в роли Back-End сервера. В роли же Front-End выступает, как вы правильно сказали, NGINX.– Free_man27 июн 2012 в 6:05
-
@Dexter: пруф? В заголовках Apache не замечен. Server nginx/1.2.1 X-Powered-By PHP/5.3.3-7+squeeze3– Sergiks27 июн 2012 в 8:54
-
а мне кажется, что не суть, что фактически использует ВК. Автор привел адреса лишь для примера, а сам он скорее всего только учиться веб-программированию, а значит наиболее вероятно он использует связку PHP+Apache.– ReinRaus2 июл 2012 в 10:10