เรามีดังต่อไปนี้:
- เว็บไซต์คงที่ WordPress ที่
https://www.domain1.com
.
- เว็บแอปพลิเคชัน React/Django ที่
https://www.domain2.com
ด้วย URI หลักสามรายการ:
เราต้องการให้ดูเหมือนว่าเป็นโดเมนเดียวกันที่ https://www.domain1.com
. ฉันบอกว่าสามารถทำได้โดยการตั้งค่า พร็อกซีย้อนกลับ บนเว็บเซิร์ฟเวอร์ Apache ซึ่งอยู่ที่ https://www.domain1.com
. ด้วยเหตุนี้เราจึงต้องย้ายปัจจุบัน /
ของ https://www.domain2.com
, ถึง /พอร์ทัล
หรือ /แผงควบคุม
ซึ่งก็ไม่มีปัญหา
สิ่งที่จะเกิดขึ้นคือหากมีการเชื่อมโยงไปยัง https://www.domain1.com/portal/*
ก็จะให้บริการ https://www.domain2.com/portal/*
แต่ก็ยังจะบอกว่า https://www.domain1.com/portal/*
ในเบราว์เซอร์ ดังนั้นจึงดูเหมือนเว็บไซต์เดียวกันสำหรับผู้ใช้แม้ว่าจะมาจากโดเมนอื่นก็ตาม
อย่างไรก็ตาม ดังนั้นฉันจึงพยายามแก้ไข .htaccess
สำหรับ https://www.domain1.com/
โดยเพิ่มสิ่งต่อไปนี้ไว้ด้านบน:
ProxyPass "/พอร์ทัล" "https://www.domain2.com/portal"
ProxyPassReverse "/พอร์ทัล" "https://www.domain2.com/portal"
#หรือเฉยๆ
ProxyPass "/พอร์ทัล" "https://www.domain2.com/"
ProxyPassReverse "/พอร์ทัล" "https://www.domain2.com/"
สิ่งนี้ทำให้เกิดก 500
ข้อผิดพลาดในเว็บไซต์ WordPress ทั้งหมด
นี่คือทั้งหมดของ .htaccess
:
ProxyPass "/พอร์ทัล" "https://www.domain2.com/portal"
ProxyPassReverse "/พอร์ทัล" "https://www.domain2.com/portal"
# เริ่มต้น WpFastestCache
# เวลาที่แก้ไข : 09-09-21 9:26:57
<IfModule mod_rewrite.c>
RewriteEngine เปิดอยู่
ฐานการเขียนซ้ำ /
RewriteCond %{HTTPS} =เปิด
RewriteCond %{HTTP_HOST} ^www.domain1.com
# เริ่มการยกเว้น WPFC
# สิ้นสุดการยกเว้น WPFC
# Start_WPFC_Exclude_Admin_Cookie
RewriteCond %{HTTP:Cookie} !wordpress_logged_in_[^\=]+\[email protected]
RewriteCond %{HTTP:Cookie} !wordpress_logged_in_[^\=]+\=โฆษณา,om
# End_WPFC_Exclude_Admin_Cookie
RewriteCond %{HTTP_HOST} ^www.domain1.com
RewriteCond %{HTTP_USER_AGENT} !(facebookexternalhit|WP_FASTEST_CACHE_CSS_VALIDATOR|Twitterbot|LinkedInBot|WhatsApp|Mediatoolkitbot)
RewriteCond %{HTTP_USER_AGENT} !(WP\sFastest\sCache\sPreload(\siPhone\sMobile)?\s*Bot)
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{REQUEST_URI} !(\/){2}$
RewriteCond %{REQUEST_URI} ![^\/]+\/$
เขียนซ้ำ %{QUERY_STRING} !.+
RewriteCond %{HTTP:คุกกี้} !comment_author_
RewriteCond %{HTTP:Cookie} !safirmobilswitcher=โมบิล
RewriteCond %{HTTP:Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/all/$1/index.html -f [หรือ]
RewriteCond /nfs/c09/h02/mnt/135490/domains/domain1.com/html/wp-content/cache/all/$1/index.html -f
RewriteRule ^(.*) "/wp-content/cache/all/$1/index.html" [L]
</หากโมดูล>
<FilesMatch "ดัชนี\.(html|htm)$">
AddDefaultCharset UTF-8
<ifModule mod_headers.c>
FileETag ไม่มี
ส่วนหัวยกเลิกการตั้งค่า ETag
ส่วนหัวตั้งค่าการควบคุมแคช "อายุสูงสุด = 0, ไม่มีแคช, ไม่มีที่เก็บ, ต้องตรวจสอบใหม่"
ส่วนหัวตั้งค่า Pragma "ไม่มีแคช"
Header set Expires "จ. 29 ต.ค. 2466 20:30:00 GMT"
</ifModule>
</FilesMatch>
# สิ้นสุด WpFastestCache
# เริ่มต้น GzipWpFastestCache
<IfModule mod_deflate.c>
AddType x-font/woff .woff
เพิ่มประเภท x-font/ttf .ttf
AddOutputFilterByType ลดภาพ/svg+xml
AddOutputFilterByType DEFLATE ข้อความ/ธรรมดา
AddOutputFilterByType DEFLATE ข้อความ/html
AddOutputFilterByType DEFLATE ข้อความ/xml
AddOutputFilterByType ลดข้อความ/css
AddOutputFilterByType DEFLATE ข้อความ/จาวาสคริปต์
AddOutputFilterByType DEFLATE แอปพลิเคชัน/xml
AddOutputFilterByType DEFLATE แอปพลิเคชัน/xhtml+xml
แอปพลิเคชัน AddOutputFilterByType DEFLATE/rss+xml
AddOutputFilterByType DEFLATE แอปพลิเคชัน/จาวาสคริปต์
AddOutputFilterByType DEFLATE แอปพลิเคชัน/x-javascript
แอปพลิเคชัน AddOutputFilterByType DEFLATE/x-font-ttf.dll
AddOutputFilterByType DEFLATE x-font/ttf.dll
AddOutputFilterByType DEFLATE แอปพลิเคชัน/vnd.ms-fontobject
แบบอักษร AddOutputFilterByType DEFLATE/แบบอักษร opentype/แบบอักษร ttf/แบบอักษร eot/otf
</หากโมดูล>
# จบ GzipWpFastestCache
# เริ่มต้น LBCWpFastestCache
<FilesMatch "\.(webm|ogg|mp4|ico|pdf|flv|avif|jpg|jpeg|png|gif|webp|js|css|swf|x-html|css|xml|js|woff|woff2| otf|ttf|svg|eot)(\.gz)?$">
<IfModule mod_expires.c>
แอปพลิเคชัน AddType/font-woff2 .woff2
แอปพลิเคชัน AddType/x-font-opentype .otf
หมดอายุเปิดใช้งานเมื่อ
ExpiresDefault A0
ExpiresByType วิดีโอ/webm A10368000
วิดีโอ ExpiresByType/ogg A10368000
ExpiresByType วิดีโอ/mp4 A10368000
รูปภาพ ExpiresByType/avif A10368000
รูปภาพ ExpiresByType/webp A10368000
ExpiresByType รูปภาพ/gif A10368000
ExpiresByType ภาพ/png A10368000
ExpiresByType ภาพ/jpg A10368000
ExpiresByType ภาพ/jpeg A10368000
รูปภาพ ExpiresByType/ico A10368000
ภาพ ExpiresByType/svg+xml A10368000
ExpiresByType ข้อความ/css A10368000
ExpiresByType ข้อความ/จาวาสคริปต์ A10368000
แอปพลิเคชัน ExpiresByType/จาวาสคริปต์ A10368000
แอปพลิเคชัน ExpiresByType/x-javascript A10368000
แอปพลิเคชัน ExpiresByType/font-woff2 A10368000
แอปพลิเคชัน ExpiresByType/x-font-opentype A10368000
แอปพลิเคชัน ExpiresByType/x-font-truetype A10368000
</หากโมดูล>
<IfModule mod_headers.c>
ชุดส่วนหัวหมดอายุ "max-age=A10368000, สาธารณะ"
ส่วนหัวยกเลิกการตั้งค่า ETag
ส่วนหัวตั้งค่าการเชื่อมต่อให้มีชีวิตอยู่
FileETag ไม่มี
</หากโมดูล>
</FilesMatch>
# สิ้นสุด LBCWpFastestCache
# เปลี่ยนเส้นทางถาวร / https://www.domain1.com
RewriteEngine เปิดอยู่
RewriteCond %{HTTPS} !=เปิด
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# เริ่มต้น WordPress
RewriteEngine เปิดอยู่
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:การอนุญาต}]
ฐานการเขียนซ้ำ /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
กฎการเขียนซ้ำ /index.php [L]
# จบเวิร์ดเพรส
ฉันกำลังทำอะไรผิดที่นี่?