가져 오기 VAR로 PHP 스크립트에 꽤 URL을 변환 I는 다음과 같이 URL을 사용하려면 :htaccess로 - 조용히 내가 PHP를 사용하고
http://www.example.com/username,
대신을이 같은 쿼리 문자열을 사용하여 :
profile.php?u=username
을
.htaccess
파일을 어떻게 설정합니까? 이 같은
가져 오기 VAR로 PHP 스크립트에 꽤 URL을 변환 I는 다음과 같이 URL을 사용하려면 :htaccess로 - 조용히 내가 PHP를 사용하고
http://www.example.com/username,
대신을이 같은 쿼리 문자열을 사용하여 :
profile.php?u=username
을
.htaccess
파일을 어떻게 설정합니까? 이 같은
뭔가 :
http://www.example.com/User123
하는 것이 될 것입니다 : 이것은 그래서이 http://www.example.com/profile.php
에 user
라는 GET 변수로 도메인 이름 뒤에 아무것도 전달합니다
RewriteCond %{REQUEST_FILENAME} !profile.php
RewriteRule ^(.*)$ /profile.php?user=$1 [L]
:
http://www.example.com/profile.php?user=User123
이것은 조용히 발생하므로 서버에 URL이 보이지 않을 때 profile.php
URL이 표시되지만 브라우저에 여전히 "pretty"example.com/User123
버전이 표시됩니다. 당신은 무슨 일이 일어나고 있는지에 대한보다 철저한 설명을 요구하기 때문에
는 여기있다 :
RewriteRule
조금 if 문 같다. 기본적으로 "요청이이 패턴과 일치하면 요청을 다른 파일로 리디렉션합니다."
^(.*)$
입니다
:
^
이 수에 일치 "문자열의 처음에 일치하는.*
수단을 찾고 시작"을 의미 어느 캐릭터 (*
)는 (.
)$
수단 "문자열의 끝에 일치 멈춘다., 그것은 기본적으로 "모든 요청을 일치합니다."하는 금액 그들이 변수에 둘러싸 규칙의 일부를 일치 아무것도 저장하는 mod_rewrite를 알려줍니다 .*
주위
괄호. 변수가 저장되는 변수는 $1
입니다 (여러 세트의 괄호가있는 경우 $2
, $3
등으로 저장됩니다).
이 $1
변수는 RewriteRule의 마지막 부분에 지정된 새 경로를 정의하는 데 사용됩니다.
RewriteCond
은 RewriteRule
주위에 다른 if 문을 던지는 것과 같습니다. "이 조건이 참이면 아래의 RewriteRule 만 실행하십시오.profile.php "귀하의 경우에는
가한다 RewriteCond는 파일이 URL에 요청되는 경우에만이 규칙을 실행에 말한다 (%{REQUEST_FILENAME}
) 는 아니다" "이것의 의미는
그 요청" profile.php "는 정상적으로 처리되지만 다른 요청은 profile.php를 가리 키도록 리디렉션됩니다.
끝에있는 [L]
은"이 뒤에 어떤 RewriteRules도 실행하지 마십시오 "라는 의미입니다 .L은 "마지막"
진흙 투성이입니까?
RewriteEngine On
RewriteRule http://www.example.com/(.*) profile.php?u=$1
미안하지만 ... 도와 주셔서 감사합니다 ... – Neelesh
도움을 주셔서 감사합니다.하지만 여전히 스크립트 이름 만 제공하고 있습니다. 예 : 나에게주는 동일한 코드 : 예 ([user] => profile.php) 하지만 위의 http://www.example.com/User123에서 언급 한 동일한 URL을 원합니다. – Neelesh
@Neelesh : '[user] => profile 만 제공합니다. 'example.com/profile.php'로 이동했다면 'php'를 입력하십시오. 'example.com/User123'에 가면'[user] => User123'을 주어야합니다. – AgentConundrum
http : // localhost : 81/test/neelesh처럼 같은 코드를 사용했습니다.이 코드는 나에게 profile.php를 제공합니다. Array ([user] => profile.php) In profile.php print_r ($ _ GET); ?> – Neelesh