2010-08-18 5 views
1

.htaccess 파일을 사용할 수 있다고 생각하지만이 파일을 검색해 보았습니다. 내가 뭘 원하는 내 사이트가 PHP 페이지로 리디렉션이 때 사용자 유형들은 같은 URL에 사용자 이름 :"mydomain.com/user"를 "mydomain.com/name.php?id=user"로 리디렉션

example.com/name.php?id=username 
:

example.com/username 

그리고 그것은 같은 PHP 페이지와 같은 수 있습니다

리디렉션 한 후에도 example.com/username으로 표시하고 싶지만 필요하지 않습니다. 어떤 아이디어?

답변

2

mod_rewrite을 사용하면 서버의 URL을 투명하게 다시 쓸 수 있습니다. 만, 이런 일이 당신이 원하는 것을 할 것 도메인 다음 사용자 이름을 거라고 가정

는 :

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .+ name.php?id=$0 
+1

입니다! -d'을뿐만 아니라, 디렉토리가 아니라 다시 작성되지 않도록. – vonconrad

+0

@vonconrad 당신은 당신이 무슨 말을하고 있는지 알고있는 것 같습니다. 나는 .htaccess 파일을 편집하는 것에 완전히 새로운 사람입니다.이 예제들 중 어느 것이 더 잘 작동 할 것이라고 생각합니까? 도움을 주셔서 감사합니다 – RobHardgood

+0

@vonconrad - 네, 간략하게 그것을 제외 시켰 습니다만, OP의 시나리오를 모른 채로 그것을 포함시키는 것이 더 안전 할 것입니다. 나는 규칙 집합을 개정 할 것이다. –

2
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.+) users.php?user=$1 [L] 

나는 문제가 해결 것이라 생각합니다.

아파치 mod_rewrite를 가이드

당신은 아마 '한다 RewriteCond % {REQUEST_FILENAME}를 추가하려면 여기 http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

+0

요청이 실제 디렉토리 나 파일이 아닌 경우 이미 mod_rewrite에게 규칙을 적용하도록 지시 했으므로 물결표가 필요하지 않습니다 (위의 두 RewriteCond 참조). RewriteRule). – vonconrad

+0

오 예. 나는 URL 재 작성에 새로운거야 :) – Jonah