ฉันพยายามตั้งค่าเซิร์ฟเวอร์ด้วยชื่อโดเมน แต่ได้รับข้อผิดพลาด 301 เมื่อพิมพ์ URL ในเบราว์เซอร์ (http://localhost ทำงานได้ดี แต่ http://example.com ให้ข้อผิดพลาด 301)
ฉันมีเซิร์ฟเวอร์ DNS ชี้ไปที่ IP สาธารณะที่ถูกต้อง และเราเตอร์ตั้งค่าให้ส่งต่อพอร์ตขาเข้า 80 ไปยัง 80 ในเครื่องไปยัง IP ส่วนตัวที่ถูกต้อง
apache2.conf
ได้รับการแก้ไขดังนี้
#<ไดเร็กทอรี /var/www/>
# ดัชนีตัวเลือก FollowSymLinks
# AllowOverride ไม่มี
#ต้องได้รับทั้งหมด
#</ไดเร็กทอรี>
<ไดเร็กทอรี /srv/>
ตัวเลือก FollowSymLinks
AllowOverride ไม่มี
ต้องได้รับอนุญาตทั้งหมด
</ไดเร็กทอรี>
นี่เป็นเพราะ Wordpress ที่ติดตั้งตามคำแนะนำ /srv/www/เวิร์ดเพรส/
และไม่ต้องการตำแหน่ง Apache เริ่มต้นอื่นสำหรับเว็บไซต์....
wordpress.conf
ใน /etc/apache2/sites-enabled/
โฟลเดอร์มีลักษณะดังต่อไปนี้:
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com
DocumentRoot /srv/www/wordpress
<Directory /srv/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
<Directory /srv/www/wordpress/wp-content>
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
ฉันใช้ Ubuntu 20.04, Apache 2.4.41, Wordpress 5.8.1
อัปเดต 23 กันยายน 2021
แก้ไขชื่อเรื่องของคำถามนี้จาก "การรับข้อผิดพลาด 301 บนเซิร์ฟเวอร์ Apache" เป็น "Localhost ไม่สามารถเข้าถึงได้ด้วย Wordpress" ก่อนหน้านี้ ฉันมักจะได้รับการตอบกลับว่า "หมดเวลา" เมื่อป้อนโดเมนของฉัน (http://example.com
) จากเครือข่ายท้องถิ่นของฉันที่เซิร์ฟเวอร์ทำงานอยู่ ข้อผิดพลาด 301 เกิดขึ้นเมื่อมีผู้อื่นเข้าถึงโดเมนของฉันในขณะนั้น ภายนอก. ตอนนี้ฉันพบวิธีเข้าถึงโดเมนของฉันจากภายนอกแล้ว ข้อผิดพลาดก็สอดคล้องกัน: "Localhost is unreachable" อย่างไรก็ตาม ดูเหมือนว่าจะเกิดขึ้นบนไซต์ Wordpress เท่านั้น เมื่อฉันเข้าถึงไซต์เริ่มต้น "ใช้งานได้" ก็ไม่เป็นไร (ฉันไม่ได้แสดงความคิดเห็นในไฟล์ apache2.conf
บรรทัดที่ฉันเน้นไว้ก่อนหน้านี้) นี่อาจเป็นเพราะ Wordpress ใช้ฐานข้อมูลและเป็นค่าเริ่มต้น ชื่อโฮสต์
สำหรับผู้ใช้ที่เป็น "โลคอลโฮสต์"
?
[สำหรับผู้ที่พยายามป้อนโดเมนที่ชี้ไปยังเซิร์ฟเวอร์ของตน: หากคุณทำสิ่งนี้จากเครือข่ายท้องถิ่นเดียวกันกับที่เซิร์ฟเวอร์ตั้งอยู่ การดำเนินการนี้จะไม่ทำงาน (ค้นหา "NAT loopback" สำหรับข้อมูลเพิ่มเติม) นั่นไม่ใช่การอภิปรายที่นี่ แต่ฉันพูดถึงเพราะมันจมเวลาไปมาก โลคัลโฮสต์
ทำงาน, แก้ไข / etc / โฮสต์
สามารถทำกลโกงบางอย่างได้ -- ยังไม่จำลองคำขอภายนอกจากความรู้ของฉัน -- แต่ท้ายที่สุด การใช้ชื่อโดเมนจะไม่ได้ผล]