ฉันเพิ่งติดตั้ง LAMP stack บนระบบ Ubuntu ของฉัน
การเปลี่ยนเส้นทางไม่ทำงานสำหรับฉัน ฉันไม่รู้จะแก้ไขได้อย่างไร มีใครช่วยฉันบ้าง
/etc/apache2
และสามารถเปิดใช้งานได้โดยใช้a2*
โปรแกรม
ฉันเพิ่งติดตั้ง LAMP stack บนระบบ Ubuntu ของฉัน
การเปลี่ยนเส้นทางไม่ทำงานสำหรับฉัน ฉันไม่รู้จะแก้ไขได้อย่างไร มีใครช่วยฉันบ้าง
/etc/apache2
และสามารถเปิดใช้งานได้โดยใช้a2*
โปรแกรม
คำตอบ:
หากต้องการเปิดใช้งานโมดูลเขียนใหม่ให้เรียกใช้ "apache2 เปิดใช้งานโมดูลเขียนใหม่":
sudo a2enmod rewrite
คุณต้องรีสตาร์ทเว็บเซิร์ฟเวอร์เพื่อใช้การเปลี่ยนแปลง:
sudo service apache2 restart
หากคุณวางแผนที่จะใช้ mod_rewrite ใน.htaccess
ไฟล์คุณต้องเปิดการใช้งานของ.htaccess
ไฟล์โดยการเปลี่ยนไปAllowOverride None
AllowOverride FileInfo
สำหรับเว็บไซต์เริ่มต้นให้แก้ไข/etc/apache2/sites-available/default
:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# changed from None to FileInfo
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>
หลังจากการเปลี่ยนแปลงดังกล่าวคุณต้องเริ่ม Apache ใหม่อีกครั้ง
sudo a2enmod rewrite
และFileInfo
แก้ไขให้ฉัน!
ฉันกล้าที่จะเพิ่มคำตอบพิเศษ (เป็นผลการติดตามคำตอบที่ดีข้างต้น) เกี่ยวกับUbuntu 14.04และ.htaccess
:
ใน 14.04 ชื่อของไฟล์กำหนดค่าเริ่มต้นจะเปลี่ยนเป็น000-default.conf
:
sudo gedit /etc/apache2/sites-available/000-default.conf
เพิ่มต่อไปนี้ในตอนท้ายของไฟล์:
<Directory "/var/www/html">
AllowOverride All
</Directory>
ด้วยเหตุผลบางอย่างในอูบุนตู 14.04 และ apache2 /www/html
รากมีการตั้งค่า หากคุณต้องการเปลี่ยนรากเว็บเซิร์ฟเวอร์กลับไปที่เก่าที่ดี/www
, open 000-default.conf
และการเปลี่ยนแปลง
DocumentRoot /var/www/html/
ไปยัง
DocumentRoot /var/www/
แล้วนอกหลักสูตรควรจะเป็น
<Directory "/var/www">
AllowOverride All
</Directory>
Ubuntu 14.04.4 LTS