2014-08-11 6 views
0

내가 일반적으로 괜찮아요 리디렉션 루프를 제공하지만,이 특정 클라이언트의 서버는 나에게 문제를 제공하고있다 :htaccess로 아파치 모드 재 작성 규칙은 항상 아파치 리디렉션을 쓰기에

c를 내가 메인 모든 하위 페이지를 리디렉션하려고 도메인하지만 난 항상 무한 리디렉션 루프지고있다.

내 .htaccess 파일은 다음과 같습니다. 무엇이 잘못 되었나요?

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.example\.com$ 
RewriteRule ^test$ "http\:\/\/example\.com\/" [R=301,L] 
RewriteCond %{REQUEST_URI} !"^/$" 
RewriteRule ^.*$ "http\:\/\/example\.com\/" [R=301,L] 

whoa redirect infinity!

RewriteRule ^test$ "http\:\/\/example\.com\/" [R=301,L] 

http://example.com와 빵에 http://example.com/test을 리디렉션이 작동 : 나는 같은 것을 할 경우하지만, 말을!

모든 안내를 받으실 수 있습니다. 감사!

// EDIT

문제는 우리가 사용자에게 확인 이메일을 보내는 메일 링리스트 플러그인을 가지고있다. 확인 이메일에서 확인 버튼을 클릭하면 사용자는 긴 검색어 문자열을 http://example.com/에 추가하여 Google 사이트로 리디렉션됩니다. 쿼리 문자열은 생성되지 않으므로 결코 같지 않을 것입니다.

다음은 쿼리 문자열 중 하나의 예 :

http://example.com/?has_media=false&fan=https%3A%2F%2Fapp.topspin.net%2Fapi%2Fv1%2Ffan%2Fshow%2F63451204%3Fartist_id%3D12053%26auth%3D96419cab29f59a342cde9ca3c0c20b58&campaign=https%3A%2F%2Fapp.topspin.net%2Fapi%2Fv1%2Fartist%2F12053%2Fcampaign%2F10151864 

// 편집 2

나는 이상하게 @ 존 린의 예와 페이지가로드를 시도했지만 부하 않습니다. 기본적으로, 일부 브라우저에서 올바른 도메인로드되지만 자산 (CSS 및 이미지가 안) 및 네트워크 관리자는 영구적으로 이러한 경로를 보여주고 또한 이동 :의

+0

원래의 URL과 리디렉션 된 URL의 예를 보여줍니다. –

+0

문제는 무한대로 리디렉션되는 index.php/html을 비롯한 모든 서브 페이지를 리디렉션하려고한다는 사실에서 비롯된 것이라고 생각합니다. 왜 내가 물을까요 ?? – Jhecht

+0

example.com 또는 www.example.com을 example.com에 다시 쓰려고하십니까? 아마도 당신이해야 할 일은 – ErstwhileIII

답변

0

에 마지막 규칙을 변경해보십시오 :

RewriteRule !^(?:index\.(html?|php)|)$ http://example.com/ [R=301,L] 

이유는 디렉터리 인덱스가 매핑 된 후 (예 : index.php) 규칙이 다시 처리되어 여분의 리디렉션이 발생하기 때문입니다.

쿼리 문자열은 이고 여전히이 끝납니다. RewriteRule에있는 쿼리 문자열과 일치시킬 수있는 방법이 없기 때문입니다. %{QUERY_STRING} 변수와 일치해야합니다. 쿼리 문자열을 제거하려면 http://example.com/ 끝에 ?을 추가해야합니다.

+0

더 구체적인 내용과 예제로 내 질문을 업데이트 한 첫 번째 조건을 제거하는 것입니다. 내 대답을 구체적인 내용으로 업데이트하겠습니다. – DrewT