2011-01-24 3 views
0

У меня есть доменная система как domain.com/username (как в twitter/facebook и т. Д.).Как обрабатывать URL-адрес без создания каталогов

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

Есть ли лучше способа справиться с URL без создания каталогов для каждого пользователя и просто извлечения URL и узнать, какую пользователя страницы она & загрузкой пользовательских данных из базы данных только из основного домена (т.е. index.com)

ответ

2

mod_rewrite

http://www.workingwith.me.uk/articles/scripting/mod_rewrite

В принципе, ваш «реальный» URL будет выглядеть domain.com/profile.php?name=Andrew, и было бы показать всю информацию для пользователя с этим именем. Затем вы можете использовать mod_rewrite и сделать domain.com/andrew «ярлык» до domain.com/profile.php?name=Andrew.

Просто проверили это, и она работала хорошо:

profile.php -

<?php 

echo '<h1>' . ucwords($_GET['name']) . '</h1>'; 

?> 

.htaccess -

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/\.]+)/?$ profile.php?name=$1 [L] 

Когда я посещаю http://localhost/andrew, я вижу свое имя, так же, как Я должен.

+0

Обновлен .htaccess, поэтому он не будет пытаться переписать важный материал. – Andrew

1

Да, переписав все запросы, которые не являются реальным файлом для PHP-скрипта, который отображает данные запрашиваемого пользователя. Поместите это в файл .htaccess или httpd.conf использовать mod_rewrite в Apache:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /username.php [L] 

Затем username.php можно посмотреть на $_SERVER['REQUEST_URI'], чтобы увидеть URL, выбрать имя пользователя и отображения соответствующего содержания.

Смежные вопросы