2014-04-07 1 views
2

내가변수는

RewriteRule ^([^/]*)/([^/]*)/$ /{foo}.php?p=$1&id=$2 [L] 

그래서 RewriteRule의 내

SetEnv foo bar 

(값 "바"와) "foo에"라는 변수에 대한 참조를 만들고 싶어 리디렉션 문자 그대로 그 읽는 사람 :

RewriteRule ^([^/]*)/([^/]*)/$ /bar.php?p=$1&id=$2 [L] 

어떻게 가능합니까?

+1

가능한 중복 (http://stackoverflow.com/questions/3627411/using-custom-environment- variables-in-htaccess) –

답변

1

까다 롭지만 mod_setenvifmod_rewrite을 결합하여 수행 할 수 있습니다.

사용 루트 htaccess로이 코드 : [htaccess로 사용자 지정 환경 변수를 사용]의

RewriteEngine On 

SetEnvIf Host^foo=bar 

RewriteRule ^([^/]+)/([^/]+)/?$ /%{ENV:foo}.php?p=$1&id=$2 [L] 
+0

"SetEnvIf Host ^"가 수행하는 작업을 설명 할 수 있습니까? 조건부로 주어진 도메인 이름에 foo = bar를 설정하고 싶습니다. 예 : domain1.com이라면 foo = bar1로 설정하고, 그렇지 않으면 domain2.com = foo = bar2 –

+0

으로 설정할 수 있습니다. SetEnvIf Host로 가능합니다. 현재 나는 항상 그것을 설정하는 것을 의미하는'^'(줄 시작 앵커)와 비교합니다. 그러나 당신은 할 수 있습니다 :'SetEnvIf Host^domain1 foo = domain1' 또는'SetEnvIf Host^domain2 foo = domain2' 등. – anubhava