2011-01-24 5 views
0

내 도메인 구조는 domain.com/username (트위터/페이스 북 등처럼)입니다.디렉토리를 만들지 않고 URL을 처리하는 방법

제가 알고있는 점은 사용자 이름이 인 디렉토리를 만들고 그 안에 파일을 넣어 URL에서 볼 수 있다는 것입니다.

그것이 &는 메인 도메인 데이터베이스에서 사용자 데이터를로드하는 모든 사용자에 대한 디렉토리를 만들고 단지 URL을 검색하고있는 사용자의 페이지를 찾는없이 URL을 처리하는 더 나은 방법이 있나요 (즉, domain.com 색인 페이지) ??

답변

2

mod_rewrite를

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

는 기본적으로, 당신의 "진짜"URL은 domain.com/profile.php?name=Andrew과 같을 것이다, 그리고 그 이름을 가진 사용자에 대한 모든 정보를 표시합니다. 그런 다음 mod_rewrite를 사용하여 domain.com/andrewdomain.com/profile.php?name=Andrew의 "바로 가기"로 만들 수 있습니다.

그냥이 테스트하고 괜찮 았는데 :

profile.php -

<?php 

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

?> 

htaccess로 -

내가 http://localhost/andrew를 방문 할 때, 나는처럼 내 이름을 볼
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/\.]+)/?$ profile.php?name=$1 [L] 

해야 돼.

+0

.htaccess가 업데이트되었으므로 중요한 내용을 다시 쓰지 않습니다. – Andrew

1

예, 요청한 사용자의 데이터를 표시하는 PHP 스크립트에 실제 파일이 아닌 모든 요청을 다시 작성합니다. 당신의 .htaccess 파일이 넣어 또는 httpd.conf 파일을 아파치의 mod_rewrite를를 사용하는 :

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

그런 다음 username.php이 URL을 볼 수있는 사용자 이름을 선택하고 해당 내용을 표시 $_SERVER['REQUEST_URI'] 볼 수 있습니다.

관련 문제