같은 도메인에 다른 /서버를 배치하는 방법
나는 웹사이트를 가지고 있다.foo.com
워드프레스에서 이걸 하고 싶어요.foo.com/mexico
,foo.com/venezuela
, 배송이 다르다/server
동일한 도메인을 가진 각 도시에 대해 사용할 수 있습니다(워드프레스 다중 사이트 없음).
도시별로 IP를 검출하는 것이 아니라 이를 위해 서버 및/또는 도메인/dns 구성을 검출하는 것입니다.
다른 방법이 있다는 것을 알지만, 이 방법을 알고 싶습니다.
다음은 예를 제시하겠습니다.
솔루션 편집
이것이 저의 해결책이었습니다.
- 예를 들어 서브도메인을 만듭니다.foo.com 가 다른 서버를 가리키고 있습니다.
- 링크에 대해 원하는 이름으로 메인 서버에 폴더 만들기(예: 'mexico')
이 폴더 내에 .htaccess가 생성되었습니다.
Rewrite Engine ON(엔진 변경 ON)
RewriteCond %{REQUEST_URI} ^/rewriteRule ^(.*)$ http:// 예. foo. com/$1 [R=rewrite,L,P]
난 이거면 돼.만약 내가 다른 것을 원한다면/server
그냥 다른 이름, 예를 들어 'beaking'으로 반복합니다.하위 도메인 이름은 .htaccess와 이 예에 의해 숨겨집니다.foo.com'은 다음과 같습니다.
당신이 설명하는 것은 역방향 프록시입니다.
Apache의 확장 mod_proxy를 사용하여 설정할 수 있습니다.개인적으로 저는 그것에 손을 대지 않았습니다만, 제 의견은 당신에게 nginx를 한 번 보라고 제안하는 것입니다.이건 완전히 단순한 역방향 프록시야아파치 앞에서 nginx를 쉽게 실행하여 요청을 가로채 다른 서버에 전달하거나 html 파일을 직접 전송할 수 있습니다.
nginx-config는 다음과 같이 단순합니다.
server {
listen 80;
server_name example.org www.example.org;
location /mexico/ {
# We could have an apache server running on another port...
proxy_pass http://127.0.0.1:8000;
}
location /venezuela/ {
proxy_pass http://123.123.123.123:8000; # ...or another server.
}
location /bulgaria/ {
# Or just serve some static files
# In apache, do you set up a virtual host for this? christ.
root /var/www/static_html;
# If static html is all you have, what is apache even doing
# on your server? Uninstall it already! (As I said; opionated!)
}
}
편집: 몇 년 후 자신의 답변을 찾으면서, OP가 선택한 301-rewrite 규칙에 따라 브라우저가 실제 주소로 리다이렉트되기 전에 기다려야 하는 다른 요청이 추가되어 있습니다.301-rewrite 요청은 오늘날까지 잘못된 SEO로 간주되며, 로드 시간(보통 사소한)이 추가됩니다.
서브도메인을 사용하여 각 서브도메인을 다른 서버에 매핑하도록 도메인레지스트라로 A레코드를 설정해야 합니다.
관련된 SO 질문입니다.메모는 닫혀 있지만 선택한 답변은 목적입니다.다른 호스트의 서브도메인
one.yourdomain.com --> Server A 를 포인트 합니다.
two.yourdomain.com --> Server B 를 포인트 합니다.
GoDaddy 사이트에도 정보가 있어요.GoDaddy를 사용하지 않는 경우 프로세스는 https://support.godaddy.com/help/article/4080/managing-a-domain-names-subdomains와 비슷합니다.
도메인 설정을 편집할 수 있는 도메인 레지스트라에 들어갑니다.DNS에 관한 내용이 있을 수 있습니다.새로운 "A Record"를 추가하려고 합니다.
레지스트라에 따라서는, 「yoursubdomain」, 서버의 IP, 및 TTL(Time To Live)를 간단하게 입력할 수 있습니다.
따라서 첫 번째 서브도메인, 이 서브도메인이 가리키는 서버의 IP, 및 통상 3600 의 TTL 를 입력합니다.
그런 다음 다른 하위 도메인, 해당 서버의 IP 및 TTL에 대해서만 다른 "A Record"를 추가합니다.
필요한 수의 서브도메인과 서버에 대해 반복합니다.
솔루션은 다음과 같습니다.
1. 모든 서버에 A 레코드 및 서브도메인을 사용할 수 있습니다.
2. 웹 서버 구성을 사용하여 사용자를 대상 서버에 릴레이할 수 있습니다(Apache,NGINX 등)
하지만 여기에서는 멀티서버의 Wordpress에 대해 질문하고 있습니다.CDN(Static Contents)에는 다중 서버만 사용할 수 있지만, 클라우드 DB를 사용하는 경우를 제외하고 데이터베이스는 한 곳에 있어야 합니다.
언급URL : https://stackoverflow.com/questions/30542389/how-to-have-different-servers-with-same-domain
'programing' 카테고리의 다른 글
Protocol Buffer vs Json - 하나를 선택하는 경우 (0) | 2023.04.05 |
---|---|
스프링 부트 비활성화/오류 매핑 (0) | 2023.04.05 |
요청에 대해 일부 jQuery 글로벌 Ajax 이벤트 처리기 사용 안 함 (0) | 2023.04.05 |
Java prepared Statement를 사용하여 Postgres에 JSON 개체를 삽입하려면 어떻게 해야 합니까? (0) | 2023.04.05 |
c# 프로그램에 .json 파일 로드 (0) | 2023.04.05 |