แก้ไข httpd.conf + .htaccess เพื่อเปิดใช้ Clean URL แล้วใช้งานระบบ Drupal ไม่ได้ค่ะ

By o

น้องที่ทำงานช่วยติดตั้ง Drupal ในเครื่อง Server ให้ค่ะ
โดยใช้ OS CentOS 5.2 , MySQL V.5.1.47, PHP V.5.2.13, Drupal V.6.17, Apache 2.2.15
โดยติดตั้ง Drupal ไว้ที่ /apps/drupal/httpd/vroot/drupal
ส่วน httpd.conf อยู่ที่ /apps/httpd/conf
ตอนแรกก็สามารถใช้งาน Drupal ได้ตามปกติ แต่พอแก้ไข httpd.conf + .htaccess เพื่อเปิดใช้ Clean URL ตาม Handbook
แล้ว Restart Server ปรากฏว่าตอนนี้ไม่สามารถเข้าใช้งานระบบ Drupal ได้เลยค่ะ พอพิมพ์ URL:http://mysite.com/drupal ระบบกลับแสดงหน้า index.php ที่เป็น php code แทนค่ะ
ไม่ทราบว่าจะมีวิธีไหนแก้ไขได้บ้างค่ะ ลองเอา httpd.conf + .htaccess ก่อนแก้ลงไปทับที่เดิมแล้วก็ยังเข้าไม่ได้อยู่ดีค่ะ

ขอบคุณล่วงหน้าค่ะ

7 comments

รูปภาพของ ball.in.th
By ball.in.th
1 ปี 40 weeks ago

ปัญหาน่าจะอยู่ที่ตั้ง

ปัญหาน่าจะอยู่ที่ตั้ง DocumentRoot กับ RewriteBase ไม่ถูกต้องจ้า

By o
1 ปี 40 weeks ago

ไม่ทราบว่า httpd.conf

ไม่ทราบว่า httpd.conf .htaccess แก้ตามนี้ ถูกไหมค่ะ ต้องแก้ไขตรงไหนอีกบ้างหรือเปล่า ขอบคุณอีกรอบที่มาตอบค่ะ

httpd.conf
DocumentRoot "/apps/httpd/htdocs"

Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all

Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all

.htaccess

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

รูปภาพของ waterguy
By waterguy
1 ปี 40 weeks ago

O ไหนละนี่ แถว สุขุมวิท 62

O ไหนละนี่ แถว สุขุมวิท 62 หรือเปล่า

ลองเข้า หน้าอื่น ที่ไม่ใช่ drupal ได้ไหมครับ ลองดู

เปิด mod_rewrite หรือยัง จะทำ clean url

อย่าลืม restart apache และ mysql ด้วย

รูปภาพของ waterguy
By waterguy
1 ปี 40 weeks ago

โดยติดตั้ง Drupal ไว้ที่

โดยติดตั้ง Drupal ไว้ที่ /apps/drupal/httpd/vroot/drupal
ส่วน httpd.conf อยู่ที่ /apps/httpd/conf

กับ อันนี้ มันแปลกๆครับ

DocumentRoot "/apps/httpd/htdocs"

By o
1 ปี 40 weeks ago

ลองแก้ให้ DocumentRoot

ลองแก้ให้ DocumentRoot "/apps/httpd/htdocs" เป็น DocumentRoot "/apps/drupal/httpd/vroot/drupal" แล้ว Restart Apache + mysql ก็ยังไม่ได้ค่ะ mod_rewrite ก็เปิดแล้ว มีไฟล์.so อยู่ในเครื่องเรียบร้อยค่ะ ลองเข้าหน้า http://mysite.com/drupal/admin ก็ไม่ได้ค่ะ แสดงเป็น index.php แบบเป็น php code เหมือนกันค่ะ

รูปภาพของ ball.in.th
By ball.in.th
1 ปี 40 weeks ago

>> กลับแสดงหน้า index.php

>> กลับแสดงหน้า index.php ที่เป็น php code แทนค่ะ
อันนี้น่าจะเป็นเพราะติดตั้ง php ไม่ถูกต้องครับ ไม่เกี่ยวกับ drupal

รูปภาพของ Karatae99
By Karatae99
1 ปี 40 weeks ago

httpd.conf ควรจะอยู่ในห้อง

httpd.conf ควรจะอยู่ในห้อง /etc/httpd/conf ไม่ใช่เหรอครับ ส่วนการปรับแต่ง..

แค่เปลี่ยน AllowOverride None เป็น AllowOverride All แล้ว restart Apache ก็น่าจะใช้งาน mod rewrite ได้แล้วนะครับ ถ้าเปิดโมดูล mod_rewrite แล้ว

ส่วนตำแหน่ง DocumentRoot เลือกเอาสักอย่างครับ เช่น DocumentRoot "/apps/httpd/htdocs" ก็เอาไฟล์ที่อยู่ในโฟล์เดอร์ drupal-6.17 ทั้งหมด มาใส่ไว้ใน htdocs

หรือ DocumentRoot "/apps/httpd/htdocs/drupal-6.17" ก็เอาทั้งโฟลเดอร์ drupal-6.17 มาใส่ไว้ใน htdocs

แล้ว restart apache แล้วลองเข้าหน้าเว็บ แบบนี้ http://mysite.com/ ดูครับ

ส่วน .htaccess ลองใช้แบบไม่ปรับแต่งดูก่อนครับ (สำหรับ CentOS ผมไม่ค่อยแน่ใจว่าต้องแก้ไขไฟล์นี้รึเปล่า)