
도와주세요. 다음 재작성을 수행하기 위한 올바른 코드인지 알려주실 수 있나요? 내가 원하는 대로 이 특정 변경 사항을 테스트할 수 없습니다.
이 회사는 단일 Apache 인스턴스에 4개의 도메인을 가지고 있습니다.
test.example.com 중 하나만 영향을 미치고 싶습니다.
다음을 수행하려면 이 블록이 필요합니다.
- 호스트가 test.example.com인 경우 /에 대한 모든 호출은 /admin/index.php로 이동해야 합니다.
- 호스트가 test.example.com인 경우 http에 대한 모든 호출은 https로 이동해야 합니다.
RewriteEngine 켜기 재작성베이스 / RewriteCond %{HTTP_HOST} !^test\.example\.com RewriteRule ^/admin/index\.php$ - [L] RewriteCond %{HTTP_HOST} !^test\.example\.com RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /admin/index.php [L] RewriteCond %{HTTP_HOST} !^test\.example\.com RewriteCond %{HTTPS} 꺼짐 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
정말 고마워요, 린
업데이트:
이런 건 어때요?
RewriteCond %{HTTP_HOST} !^test\.lifestylepubs\.com RewriteCond %{HTTPS} 꺼짐 RewriteRule (.*) https://%{HTTP_HOST}$1 RewriteRule ^/$ /admin/index.php
답변1
Apache 서버가 4개의 도메인을 제공하는 경우 각 도메인이 자체 가상 호스트에 있다고 가정합니다. 그렇지 않다면 그것이 내가 가장 먼저 고칠 것입니다.
그런 다음 재작성 규칙을 적절한 가상 호스트 구성에 넣을 수 있으며 크게 걱정할 필요가 없습니다.
그렇지 않으면 재작성 규칙에 다음이 필요합니다.
RewriteCond %{SERVER_NAME} =test.example.com
RewriteRule ^/$ /admin/index.php [L]
RewriteCond %{SERVER_NAME} =test.example.com
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}$1