Score:1

After installing script all subdomains go to the main domain

ธง us

I have a main domain www.example.com.

and the following subdomains under the main domain

support.example.com
test.example.com

Previously both subdomains are working fine.

But after installing a PHP script on the main domain, only the main domain is working and all subdomains are going to main domain.

After checking .htaccess file I found this code:

RewriteEngine  on  
RewriteBase /  
RewriteCond %{THE_REQUEST} /(.+?)\.php[\s?] [NC]  
RewriteRule ^ %1 [R=301,L,NE]  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond %{DOCUMENT_ROOT}/$1.php -f  
RewriteRule ^(.+?)/?$ $1.php [L]  
RewriteCond %{HTTPS} off [OR]  
RewriteCond %{HTTP_HOST} !^www\. [NC]  
RewriteRule (.*) https://www.example.com%{REQUEST_URI} [R=301,L]  

IndexIgnore *   

Is this related to the not working subdomains?

kz flag
โดเมนย่อย "ไม่ทำงาน" เป็นอย่างไร "โดเมนย่อยทั้งหมดกำลังไปที่โดเมนหลัก" - คุณหมายความว่าโดเมนเหล่านี้แสดงเนื้อหาเดียวกันกับโดเมนหลักหรือถูกเปลี่ยนเส้นทางจากภายนอกไปยังโดเมนหลักหรือไม่ โดเมนย่อยชี้ไปที่ใดในระบบไฟล์ที่สัมพันธ์กับโดเมนหลัก การติดตั้ง "สคริปต์" ไม่สามารถเปลี่ยน DNS ได้ ดังนั้นฉันถือว่าโดเมนย่อยชี้ไปที่เดียวกันหรืออาจเป็นไดเรกทอรีย่อย
srisree avatar
us flag
สวัสดีคุณไวท์ โดเมนย่อยทั้งหมดจะถูกเปลี่ยนเส้นทางไปยังโดเมนหลักจากภายนอก โดเมนย่อยชี้ไปที่ไดเร็กทอรีใน public_htmnl เช่น โดเมนย่อยรองรับ https://support.maindomain.com เป็น url ฉันได้ติดตั้ง joomla ด้วย แต่หลังจากติดตั้งหนึ่งสคริปต์ใน maindomain.com ก็ถูกเปลี่ยน พยายามเปิด https://support.maindomain.com จากเบราว์เซอร์ มันไปที่ https://maindomain.com ไฟล์ทั้งหมดในไดเร็กทอรีโดเมนย่อยอยู่ที่นั่น สร้างการทดสอบโดเมนย่อยอื่น https://testing.maindomain.com ไปที่ https://maindomain.com ด้วย โดเมนย่อยสนับสนุนชี้ไปที่ public_html/support
kz flag
คุณได้ลองคำแนะนำที่ฉันโพสต์ในคำตอบของฉันแล้วหรือยัง? อย่างไรก็ตาม หากคุณติดตั้ง Joomla ไว้ในไดเร็กทอรีย่อย (ที่โดเมนย่อยชี้ไป) ควรมีไฟล์ `.htaccess` เป็นของตัวเองพร้อมคำสั่ง mod_rewrite (จำเป็นสำหรับตัวควบคุมส่วนหน้าของ Joomla) และสิ่งนี้จะลบล้างคำสั่งในพาเรนต์ ` .htaccess` ไฟล์ (ที่เป็นของโดเมนหลัก) ดังนั้นคำสั่งที่โพสต์ด้านบนจึงไม่ควรส่งผลกระทบต่อโดเมนย่อย `support` ที่ชี้ไปยังเว็บไซต์ Joomla
kz flag
อย่างไรก็ตาม เว้นแต่ไดเร็กทอรีย่อย `testing` (ซึ่งโดเมนย่อย `testing` ชี้ไป) จะมีไฟล์ `.htaccess` เป็นของตัวเองด้วย ดังนั้นคำสั่งด้านบนจะส่งผลต่อโดเมนย่อย `testing` (ดังที่กล่าวไว้ในคำตอบของฉัน)
kz flag
อย่างไรก็ตาม ในความคิดเห็นของคุณข้างต้น คุณระบุว่าคำขอไปที่ `https://maindomain.com` แต่คำสั่งที่โพสต์ไว้ด้านบนคำขอเปลี่ยนเส้นทางไปที่ `https://www.maindomain.com` (เช่น `www` โดเมนย่อย) - โปรดชี้แจง มิฉะนั้น การติดตั้ง "สคริปต์ PHP" ในโดเมนหลักจะไม่สามารถรบกวนโดเมนย่อยได้ (ยกเว้นคำสั่ง `.htaccess` ในไดเร็กทอรีหลัก) เว้นแต่ว่ากระบวนการติดตั้งจะเปลี่ยนไดเร็กทอรีย่อย `support` และ `testing` ในทางใดทางหนึ่ง
kz flag
(เคล็ดลับ: ใช้ backticks เพื่อล้อมรอบอินไลน์โค้ดและ URL ในความคิดเห็น 'แบบนี้')
Score:0
ธง kz
RewriteCond ลด %{HTTPS} [หรือ]  
RewriteCond %{HTTP_HOST} !^www\. [NC]  
RewriteRule (.*) https://www.example.com%{REQUEST_URI} [R=301,L]

คุณไม่ได้ระบุว่าเกิดอะไรขึ้นหรือโดเมนย่อยชี้ไปที่ใด ดังนั้นอาจมีปัญหาอื่นที่นี่

อย่างไรก็ตาม หากโดเมนย่อยของคุณชี้ไปยังพื้นที่เดียวกันของระบบไฟล์ (หรืออาจเป็นไดเร็กทอรีย่อย) เป็นโดเมนหลัก กฎด้านบนจะเปลี่ยนเส้นทางโดเมนย่อยทั้งหมดไปที่ www.example.com - ดังนั้นโดเมนย่อยจึง "สูญหาย"

คุณสามารถแก้ไขปัญหานี้ได้โดยการตรวจหาเท่านั้น ทั้งนี้ขึ้นอยู่กับความต้องการของคุณ ตัวอย่าง.คอม แทน !^www\. และแยกการเปลี่ยนเส้นทาง HTTP เป็น HTTPS เป็นกฎของตัวเอง ตัวอย่างเช่น:

# HTTP ถึง HTTPS (รวมถึงโดเมนย่อย)
RewriteCond ลด %{HTTPS}
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Canonical ไม่ใช่ www ถึง www เปลี่ยนเส้นทางสำหรับโดเมนหลักเท่านั้น
RewriteCond %{HTTP_HOST} ^(example\.com)\.?$ [NC]  
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L]

คุณจะต้องล้างแคชของเบราว์เซอร์ก่อนทำการทดสอบ (ควรทดสอบกับ 302 - ชั่วคราว - เปลี่ยนเส้นทางเพื่อหลีกเลี่ยงปัญหาการแคชที่อาจเกิดขึ้น)

อย่างไรก็ตาม คำสั่งก็ผิดลำดับเช่นกัน (ไม่เกี่ยวกับปัญหาโดเมนย่อย) การเปลี่ยนเส้นทางตามรูปแบบบัญญัติ (ด้านบน) จำเป็นต้องดำเนินการ ก่อน การเขียนใหม่ภายใน ดังนั้นของคุณ .htaccess ควรเรียงลำดับไฟล์ดังนี้:

ดัชนีละเว้น *

RewriteEngine เปิดอยู่  
ฐานการเขียนซ้ำ /

# HTTP ถึง HTTPS (รวมถึงโดเมนย่อย)
RewriteCond ลด %{HTTPS}
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Canonical ไม่ใช่ www ถึง www เปลี่ยนเส้นทางสำหรับโดเมนหลักเท่านั้น
RewriteCond %{HTTP_HOST} ^(example\.com)\.?$ [NC]  
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L]

# ลบส่วนขยาย ".php" ใน URL ที่ร้องขอ
RewriteCond %{THE_REQUEST} \s/(.+)\.php[\s?] [NC]  
RewriteRule ^ /%1 [R=301,L,NE]  

# คำขอเขียนใหม่ภายในเพื่อต่อท้าย ".php"
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond %{DOCUMENT_ROOT}/$1.php -f  
RewriteRule ^(.+?)/?$ $1.php [L]

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา