ทำเว็บไซต์ 2 ภาษาด้วย .htaccess HomeForumทำเว็บไซต์ 2 ภาษาด้วย .htaccess ttong ผมทำเว็บไซต์ที่มี 2 ภาษา โดยแบ่งหน้าภาษาไทยกับภาษาอังกฤษ เป็นแบบนี้ www.website.com/th/ www.website.com/en/ ทีนี้ หากมีคนเข้าที่ www.website.com ผมต้องการให้ redirect ไปที่ www.website.com/th/ ผมต้องเขียน .htaccess ยังไงครับ หรือสามารถใช้วิธีอื่นได้ ขอบคุณครับ กรกฎ วิริยะ หลายวิธีครับ เช่น สร้างไฟล์ index.php ที่ root โดยถ้าเรียกไปที่ไฟล์นี้ ให้ rediurect ไปยัง page ที่ต้องการ <?php // root/index.php header("Location : /th/index.php"); ?> ถ้า htaccess RewriteRule ^(.*)$ /th/index.php [R,L] น่าจะประมาณนี้ครับ ttong เดี๋ยวผมจะลองดู ขอบคุณมากครับ ttong ผมลองดูแล้วครับ ยังไม่ได้ ผมมีไฟล์ .htaccess อยู่แล้ว และมีโค้ดประมาณนี้ครับ Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+) - [PT,L] RewriteRule ^(.*) index.php Options -Indexes ไม่แน่ใจว่าที่ไม่ได้เพราะมันไปตีกับโค้ดเก่าหรือเปล่า กรกฎ วิริยะ โค้ดนี้ไม่เกี่ยวข้องเลยครับ มันเป็นการ redirect ไปยัง index.php หากไม่พบหน้าเพจ จริงๆแล้วอาจต้องทดสอบนะครับ เพราะมันอาจขึค้นกับเงื่อนไขอื่นๆด้วย เช่น path หรือ โครงสร้างของ site ที่มีอยู่ เช่นที่พบปัญหาบ่อยๆ ว่า .htaccess ไม่สามารถทำงานได้ตามต้องการ ก็เพราะว่า มันพบว่ามีเพจที่ตรงตามเงื่อนไขที่เรียกอยู่ก่อนแล้ว ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
เช่น สร้างไฟล์ index.php ที่ root โดยถ้าเรียกไปที่ไฟล์นี้ ให้ rediurect ไปยัง page ที่ต้องการ
<?php
// root/index.php
header("Location : /th/index.php");
?>
ถ้า htaccess
RewriteRule ^(.*)$ /th/index.php [R,L]
น่าจะประมาณนี้ครับ
ผมมีไฟล์ .htaccess อยู่แล้ว และมีโค้ดประมาณนี้ครับ
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.*) index.php
Options -Indexes
ไม่แน่ใจว่าที่ไม่ได้เพราะมันไปตีกับโค้ดเก่าหรือเปล่า
จริงๆแล้วอาจต้องทดสอบนะครับ เพราะมันอาจขึค้นกับเงื่อนไขอื่นๆด้วย เช่น path หรือ โครงสร้างของ site ที่มีอยู่
เช่นที่พบปัญหาบ่อยๆ ว่า .htaccess ไม่สามารถทำงานได้ตามต้องการ ก็เพราะว่า มันพบว่ามีเพจที่ตรงตามเงื่อนไขที่เรียกอยู่ก่อนแล้ว