ฉันจะเปิดใช้งาน mod_rewrite ใน apache บน Ubuntu ได้อย่างไร


คำตอบ:



4

คำตอบของ Obsidian ในการใช้ a2enmod เป็นทางออกที่เหมาะสม วิธีการของ andol จะใช้งานได้ แต่อาจหยุดชะงักในการอัปเกรด สิ่งที่ a2enmod ทำก็แค่สร้างลิงค์สัญลักษณ์ดังนั้นทั้งสองต่อไปนี้จะเหมือนกันทั้งสองวิธีที่ถูกต้อง:

  ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

หรือ

  a2enmod rewrite

อย่างไรก็ตาม a2enmod จะค้นหาไฟล์ประเภทอื่น ๆ บางไฟล์มี. config และไฟล์อื่น ๆ ไม่มีเหตุผลที่จะไม่เรียนรู้คำสั่งนี้แม้ว่ามันจะเป็นสิ่งสำคัญที่จะรู้ว่าสิ่งที่เกิดขึ้นในพื้นหลัง

การคัดลอกไฟล์จะทำให้ผู้ดูแลระบบในอนาคตไม่พอใจคุณ :)


มันเป็นเพียงการทดสอบในประเทศเท่านั้นไม่ใช่เรื่องใหญ่ แต่ใช่a2enmodมันง่ายกว่าอยู่ดี
Nathan Osman

2

ที่จริงแล้วในขณะที่เป็นวิธีการแก้ปัญหาที่ไม่ถูกต้องการคัดลอกrewrite.loadจาก ./ mods-available/เป็น ./ mods-enabled/ควรจะทำงานได้ คุณจำรีสตาร์ท apache ของคุณในภายหลังได้หรือไม่?

ในกรณีใด ๆ . / modod-enabled/ควรมีsymlinkไปยังไฟล์ที่เกี่ยวข้องใน. / modod-available / นี่คือตามที่กล่าวไว้โดย Obsidian จัดการง่ายที่สุดโดยคำสั่ง a2enmod และ a2dismod

นอกเหนือจากการเปิดใช้งานโมดูลคุณจะต้องเปิดใช้งานการเขียนใหม่ ก่อนที่คุณจะสามารถเขียนRewriteCond : s และRewriteRule : s จะต้องมี " RewriteEngine On " ในบริบทการกำหนดค่านั้น


มันก็ใช้ได้เหมือนกัน เพียงจำไว้ว่าให้ตั้งค่าสิทธิ์ที่ถูกต้องบน symlink ใน mods-enabled ... หรือคุณจะดึงผมออก
Nathan Osman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.