서버 리디렉션으로 인한 것일 수도 있습니다.
phpinfo 출력을 확인하고 $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']
변수도 확인하십시오 .
설명 :
Apache 모듈 mod_rewrite로 작업 중이고 일부 환경 변수를 설정하려는 경우 Apache 매뉴얼에 이러한 변수에 대한 CGI에서 액세스 할 수 있다고 표시됩니다 $ENV{VAR}
. PHP $_ENV['VAR']
에서 VAR의 가치를 얻기 위해 작성하고 싶을 수도 있지만 if를 통해 $_SERVER
다른 방법으로 액세스해야 합니다.
- 예 : .htaccess 및 example.php
RewriteRule의 RewriteEngine ^? var1 = ([^;] ); var2 = ([^;] ) $ \-[E = VAR1 : $ 1, E = VAR2 : $ 2]
- 예 : .htaccess 및 index.php
RewriteRule의 RewriteEngine ^ index.php $-[L] RewriteRule? var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1 : $ 1, E = VAR2 : $ 2]
참고 : RewriteRule이 일치하는 경우 내부 규칙을 다시 시작하여 (마지막으로 정의 된 규칙 이후 또는 일치하는 규칙에 L 플래그가있는 직후) 다시 전체 규칙 세트를 확인합니다. 내부 리디렉션의 경우 정의 된 모든 VAR은 'REDIRECT_'접두어를 가져옵니다. 즉 VAR1은 REDIRECT_VAR1이되고 VAR2는 REDIRECT_VAR2가됩니다.
물론 원본 VAR을 (추가로) 재정의 할 수도 있습니다.
RewriteRule의 RewriteEngine ^ index.php $ \-[E = VAR1 : % {REDIRECT_VAR1}, E = VAR2 : % {REDIRECT_VAR2}, L] RewriteRule? var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1 : $ 1, E = VAR2 : $ 2]
이와 함께, 당신은해야합니다 $_SERVER['REDIRECT_VAR*']
및 $_SERVER['VAR*']
.
주어진 예는 단지 설명을위한 것으로, 어떤 경우에도 귀하의 요구에 맞지 않습니다. .htaccess 예에서 "\"는 표시 목적으로 만 사용되며 실제 .htaccess 파일에서는 발생하지 않아야합니다. 인수 구분자 ';' 링크에서 '&'일 수도 있지만 HTML / XHTML에 문제가 발생할 수 있습니다. 이 문제에 대한 자세한 내용은 다음 페이지를 참조하십시오.