2017-10-04 9 views
0

비슷한 질문이 있지만이 두 코드는 두 사이트에서 작동하며 세 번째 페이지에서는 작동하지 않으므로 변경 사항 및/또는 세 번째 사이트에서 작동하지 않는 이유를 확인하기 위해 확인해야 할 사항. 일어날 필요가 무엇htaccess는 서브 도메인을 제외하고 www로 다시 작성합니다.

: 도메인에 대한 모든 요청을 리디렉션하는 (1) 비 HTTPS HTTPS로하고 staging.___.com 하위 도메인을 제외하고 WWW (2) 모든 www가 아닌 ​​... , www가 추가되거나 https가 수신되지 않아야합니다.

#Rewrite http to https 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} !^staging\.(.+)$ [NC] 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L] 

#Rewrite non-www to www 
RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC] 
RewriteCond %{HTTP_HOST} !^staging\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L] 

이 두 가지에서 GoDaddy에 잘 작동이 사이트는 아니지만 그 중요한 경우 "디럭스 리눅스의 cPanel와 함께 호스팅"에있는 세 번째에 ("디럭스 웹 리눅스 호스팅")를 공유 호스팅. 이 없이 두 리디렉션 경우

(PHP 버전은 ... 아파치가 apache_get_version GoDaddy를 작동하지 않기 때문에 확인하는 방법을 잘 다르지만되지 수 있으며, 다른)!^htaccess로의 라인을 준비 :

http://www.staging.___.com/newtest/ 

무한 리디렉션 루프가 발생합니다. !

https://www.___.com 

내가 뭔가를 분명 실종 : htaccess로에서 라인을 준비

이 함께 를 리디렉션^("newtest"GoDaddy와 제어판에 지정된 하위 폴더입니다)?

+0

두 번째'RewriteRule'은'https'로 리디렉션되어야합니다. 그렇지 않으면 서버에서 낭비적인 이중 리디렉션이 발생합니다. 이'.htaccess' 파일은 어디에 위치해 있습니까? 그리고'staging' 서브 도메인은 메인 도메인의 문서 루트로부터'/ newtest' 서브 디렉토리를 가리 킵니까? 파일 시스템 경로에 다른'.htaccess' 파일이 있습니까? 예에서 요청하는 전체 URL은 무엇입니까? – MrWhite

+0

브라우저 캐시를 비우고 내 대답을 테스트하십시오. –

답변

1

이 답변은 아마도이 페이지를 우연히 발견 미래의 사람들을 돕고 있지만 어쨌든 대답해야한다고 생각하지 않습니다

htaccess로 파일에 다른 잡다한 쓰레기를 많이가 발생했습니다; 이 사이트는 수년 동안 주변에 있었으며 최근에는 내 직무의 일환으로 사이트를 "상속"했습니다. 모든 줄을 제거한 후 이제 준비 리디렉션이 작동합니다. 나는 그것이 문제를 야기 할 수있는 것이 정확히 무엇인지 알 수는 없지만, 어떤 경우에는 작동하고, 다른 오래된 규칙은 필요 없기를 바랍니다. (AFAIK하지 않습니다.)