2012-02-24 2 views
1

저는 mod_rewrite에서 정말 새로워졌습니다. p 여기에 문제가 있습니다.mod_rewrite php mysql

페이지가 있습니다. http://example.com/user/?s=81 ? s = 81은 db의 사용자 ID에서 읽습니다.

는 내가 뭘하고 싶은 것은 은 그래서 사용자 nookie에게

이 해당 필드에 행 (81)에 그래서 내가 좋아하는 것이 무엇 whatuser 내가 필드가 호출 한 데이터베이스에 링크
http://example.com/nookie

입니다 데이터베이스에서 어떤 사용자가 데이터베이스 에 있는지 읽어보고 easi URL을 만듭니다. 은 내가

example.com/nookie/step1.php 
example.com/nookie/step2.php 

처럼 그들에게 를 링크 할 수 있어야합니다, 그래서 또한 사용자 폴더 안에 여러 PHP 페이지가 난 당신이 여기 내 포인트를 얻을 수 있기를 바랍니다. Cheerz! /Nookie

답변

1

제 지식에 따라 mod_rewrite으로 데이터베이스를 쿼리 할 수 ​​없습니다.

방법 /user/?s=81에 PHP 스크립트를 넣어 대해, 그 DB에 사용자의 이름을 검색 한 다음에 "Location: $url"을 통과 $url = "/$username"; see PHP's header function로 사용자를 재배치.

+0

필자는 .htaccess의 외부 PHP 파일에 연결하고 DB에서 쿼리를 작성해야합니다. – Mensur

+0

aww, 모두 downvoting. 도와 줘서 죄송합니다. 내 실수. 당신이 말하려고하는 것이 제 제안과 일치한다면, 그걸로 가십시오. '.htaccess' 파일에서 php-script의 결과를 처리하려고하면 걱정하지 마십시오. 그것은 작동하지 않습니다. – Basti

+0

나는 PHP scriptin .htaccess 파일의 결과를 처리하려고 노력하고 있지 않다. 나는 또한 그것의 가능하지 않은 들었다. 하지만 내가 집으로 돌아갈 때 나는 너에게 해결책을 시도 할 것이다. Btw 나는 그것을 투표하지 않았다;) – Mensur

0

다른 가능성 (나는 너무 많이 생각하지 못했습니다 :)은 데이터베이스에 추가 필드를 추가하는 것입니다. user_home =/nookie /. 따라서 로그온 스크립트는 계정 세부 정보를 검증 할 때 그 정보를 얻습니다. 재 작성/추가 스크립트가 필요하지 않습니다.

0

는 여기에 내가 제안 내용은 다음과 같습니다 사용자 이름이 영숫자 문자 인 경우, 당신은 GET 쿼리에서 내부 재 작성 후, 모든 PHP 파일에 별명을 통과 할 수있다.

뭔가 같은 :

RewriteRule /([a-zA-Z0-9]+)$ /user/?s=$1 [QSA,L] 
RewriteRule /([a-zA-Z0-9]+)/(.*)$ /$2?s=$1 [QSA,L] 

그리고, 단지 데이터베이스에서 확인 쿼리 문자열 ($_GET)의 "S"의 값을 확인 PHP에서 클래스은 "어머니의 어머니"가 사용자가 존재하는 경우. 사용자가 존재하지 않는 경우, 404을 Php.

0

은 거의 그것을 정리하고 여기에 솔루션은 지금까지입니다 :/여기 htaccess로 행

한다 RewriteRule^([A-Z0-9 _-] +) $ 사용자입니까?s = $ 1 [L, NC]

다음 인덱스 파일에서 나는 다음과 같습니다. $ trafikskola_id = mysql_real_escape_string ($ _ GET [ 's']);

$ vilken_trafikskola = mysql_query ("SELECT * FROM users from slug = '$ trafikskola_id'") 또는 exit (mysql_error()); 데이터베이스에서

내가 슬러그 필드를 만들 수 있고 그 안에 행 (81)에 nookie을 추가하고 내 URL이

http://mypage.com/nookie 대신 http://mypage.com/user/?s=81 =))과 같은

그러나 나는이 문제를 가질 수 없습니다 것을 링크 http://mypage.com/nookie/은 forwardslash가 있어야합니다.

그리고 내 css - js - 이미지가 작동하지 않습니다. 이러한 문제를 해결하기위한 아이디어가 있습니까?