2012-05-23 12 views
0

며칠 전에 내 webhoster가 아파치를 업데이트했습니다. 그 이후로 오류 코드 500이 나타납니다. 문제는 아파치가 htaccess 구문에 따라 더 엄격하게 보인다는 것입니다. 오류가 수정되었지만 리디렉션이 의도 한대로 작동하지 않습니다.내 htaccess의 RegEx가 의도 한대로 작동하지 않습니다.

내 htaccess로의 내용 :

RewriteEngine on 
RewriteBase/

RewriteCond %{http_host} ^(www\.)?domain\.de$ [NC] 
RewriteRule ^(.*)$ http://www.domain.de/DE/ [L,R=301] 

Descripton : 내가 http://www.domain.de/DE/에 www.domain.de 및 domain.de을 리디렉션 할.

문제 :이 부분에서 모든 리디렉션 나던 작업으로

(www\.) 

. 만약 내가 그것을 삭제, 그것은 domain.de 있지만 www.domain.de 함께 작동합니다.

내가 htacces에서 실수를 했습니까? 나는 어떤 것도 찾을 수 없다. 나는 많이 봤 거든 정확히 여러 번이 솔루션을 발견. 지금까지 나는이 문제에 많은 시간을 보내고 있지만 나는 어떤 진전도하지 않는다.

+0

'RewriteCond % {http_host}^domain \ .de $ [NC, OR]''RewriteCond % {http_host}^www \ .domain \ .de $ [NC]' OR 플래그를주의하십시오) – Gerben

+0

조건을 분리 할 필요는 없습니다. 정규 표현식으로 할 수있을만큼 간단합니다. 도움이 될 수있는 것은 "전혀 작동하지 않는다"는 것이 무엇인지를 안다면 리디렉션되지 않습니까? 오류가 발생합니까? 코드가 표시된 것과 똑같은 코드입니까 (실제 도메인 제외)? – IBBoard

답변

1

그것은 가능성이 높습니다 대소 문자 구분 문제입니다 - 변수가 실제로 %{HTTP_HOST}하지 %{http_host}

또한

, 내가 www.domain 때문에, 당신은 무한 리디렉션 루프를하지 않는 것이 놀랍군요 (RewriteCond docs 참조) .de/DE /는 RewriteCond와 RewriteRule과 일치합니다.

+0

네가 맞아, 그것은 반복으로 끝난다. 이 경우 RewriteCond가 필요합니까? –

+0

왜 www.domain.de/DE/가 내 RewriteCond 및 RewriteRule과 일치하는지 이해할 수 없습니까? 나를 위해'www.domain.de/DE /'! ='^ (www.) domain.de $'. –

+0

그래 해결책을 찾았습니다. 내 잘못이라면 내게 말해도되지만 다른 도메인으로 리디렉션하려면 RewriteRule/RewriteCond이고 도메인 내부로 리디렉션하려면 RewriteMatch입니까? 이제'RedirectMatch permanent ^/$ http : // www.domain.de/DE /'를 사용하고 있으며 지금까지 내가 원하는 것처럼 작동합니다. –

관련 문제