문제

나는 그물을 수색하고 있었고,이 문제를 해결할 수 없다.

우리는 많은 하위 도메인과 전용 서버가 있습니다. 하나의 서버는 문제 추적 및 랜딩 페이지로 이중 열차 의무를 수행합니다. 문제는 와일드 카드 방문 페이지가 때때로 올바른 가상 호스트 페이지로 이동하지 않는다는 것입니다. 나는 와일드 카드를보고 있었지만 특히 넓어 보입니다.

우리의 시나리오는 다음과 같습니다.

-www.askia.com 메인 랜딩 사이트입니다. 존재하지 않는 (와일드 카드) 하위 도메인은 항상 여기에 착륙해야합니다.
-dev.askia.com 기술 지원 및 문제 사이트입니다. HTTPS 용 Mod_rewrites가 있습니다. 시간이 걸렸지 만, 나는 그것을 작동 시켰고 오히려 그것을 깨지 않을 것입니다.
-www.askia.fr 우리의 프랑스 사이트입니다. 당신을 데려가는 대신 www.askia.com Dev.askia.com으로 이동합니다.
-www.askia.co.uk 당신을 데려 가야합니다 www.askia.com 그러나 그것은 간다 dev.askia.com

솔루션을 어디에서 고쳐야하는지 확실하지 않습니다. cname에서 무언가를해야합니까? VirtualHosts 구성 파일 또는 mod_rewrite 파일에서.

도움이 되었습니까?

해결책

이 규칙을 시도하십시오.

RewriteCond %{HTTP_HOST} ^dev\.
RewriteCond %{HTTP_HOST} !^dev\.askia\.com$
RewriteRule ^ http://dev.askia.com%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} !^www\.askia\.com$
RewriteCond %{HTTP_HOST} !^dev\.askia\.com$
RewriteRule ^ http://www.askia.com%{REQUEST_URI} [L,R=301]

첫 번째 규칙은 모든 요청을 호스트로 시작합니다. dev. 하지만 dev.askia.com 에게 www.askia.com. 두 번째 규칙은 호스트에게 요청을 리디렉션합니다. www.askia.com 그리고 dev.askia.com 에게 www.askia.com. 따라서 모든 요청은 가야합니다 dev.askia.com 또는 www.askia.com.

다른 팁

Apache에서 가상 호스트를 사용하는 경우 첫 번째 호스팅 된 목록은 항상 비 일치의 기본값입니다.

#default vhost
# any non-matches will land here

<VirtualHost  _default_:80>
ServerName www.askia.com:80
DocumentRoot /path/to/site

ErrorLog /path/ti/sites/logs/error_log

</VirtualHost>


# vhost #2 

<VirtualHost  _dev_Site_:443>
ServerName dev.askia.com:443
DocumentRoot /path/to/dev/site

ErrorLog /path/to/dev/sites/logs/error_log

#ssl details
SSLEngine on
SSLCipherSuite HIGH:MEDIUM
SSLCertificateFile /location/securti.crt
SSLCertificateKeyFile /location/securti.key


#any rewrite rules to apply only to this (default) domain
# force SSL for instance..
RewriteRule .* - [F]
RewriteCond   %{SERVER_PORT}  !^443$
RewriteRule (.*) https://dev.askia.com/
</VirtualHost>

#etc, etc
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top