ฉันใช้เซิร์ฟเวอร์ LAMP บน Fedora 13 ที่ใช้งานได้ดี อย่างไรก็ตามฉันเพิ่งเพิ่มไฟล์ ".htaccess" ลงในโฟลเดอร์ docroot ของเว็บไซต์ปัจจุบันที่ถูกเพิกเฉยอย่างสมบูรณ์
ฉันได้ลองทำแบบทดสอบต่าง ๆ ครึ่งโหลรวมถึงแบบทดสอบนี้แล้ว:
RewriteEngine on
RewriteBase /
RewriteRule ^.*$ index.php
แต่ภาพและหน้าอื่น ๆ ทั้งหมดโหลดได้ดีและไฟล์ที่ไม่มีอยู่ยังคงเป็น 404 ฉันยังลองนี้:
order deny,allow
deny from all
แต่ทุกหน้ายังคงโหลดได้ดี อีกครั้งไฟล์. htaccess จะถูกละเว้นเพียง 100%
เราใส่เร็กคอร์ด virtualhost ของเราใน /etc/httpd/conf.d/virtual.conf ดูเหมือนว่านี้:
NameVirtualHost *
<VirtualHost *>
ServerName intranet
DocumentRoot /var/www/default
<Directory "/var/www/default">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *>
ServerName ourwebsite.com
DocumentRoot /var/www/html/ourwebsite.com/docroot
<Directory "/var/www/html/ourwebsite.com/docroot">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
มีอะไรอีกบ้างที่ทำให้เซิร์ฟเวอร์ของเราเสีย.htaccess
ไฟล์อย่างสมบูรณ์?
แก้ไข:
ฉันเปลี่ยนไฟล์. htaccess เป็นด้านบนเพื่อแสดงให้เห็นว่าการเปลี่ยนแปลงของฉันถูกเพิกเฉย โปรดทราบว่าฉันลองใช้ไฟล์. htaccess เดียวกันบนเซิร์ฟเวอร์ที่ใช้งานจริงและทำงานได้ดี
แก้ไข 2:
ตกลงฉันมีข้อมูลใหม่! เพียงเพื่อจุดประสงค์ในการทดสอบฉันผ่านและเปลี่ยนแปลงคำสั่ง "AllowOverride" ทุกAllowOverride All
ครั้งเป็น ฉันคิดออกว่ารายการ Directory แรกดูเหมือนว่าจะเอาชนะคนอื่น ๆ ทั้งหมด:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
เมื่อฉันเปลี่ยนสิ่งนั้นเป็นAllowOverride All
ไฟล์. htaccess ของฉันจะเริ่มมีผลบังคับใช้ มันเหมือนกับAllowOverride All
คำสั่งอื่น ๆ ทั้งหมดในไฟล์ปรับแต่งของฉันกำลังถูกเพิกเฉย!
สิ่งที่ช่วยให้??