ผมทำเว็บไซต์ที่มี 2 ภาษา โดยแบ่งหน้าภาษาไทยกับภาษาอังกฤษ เป็นแบบนี้
www.website.com/th/
www.website.com/en/
ทีนี้ หากมีคนเข้าที่ www.website.com ผมต้องการให้ redirect ไปที่ www.website.com/th/
ผมต้องเขียน .htaccess ยังไงครับ หรือสามารถใช้วิธีอื่นได้
ขอบคุณครับ
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]
น่าจะประมาณนี้ครับ
เช่น สร้างไฟล์ 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
ไม่แน่ใจว่าที่ไม่ได้เพราะมันไปตีกับโค้ดเก่าหรือเปล่า
ผมมีไฟล์ .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 ไม่สามารถทำงานได้ตามต้องการ ก็เพราะว่า มันพบว่ามีเพจที่ตรงตามเงื่อนไขที่เรียกอยู่ก่อนแล้ว
จริงๆแล้วอาจต้องทดสอบนะครับ เพราะมันอาจขึค้นกับเงื่อนไขอื่นๆด้วย เช่น path หรือ โครงสร้างของ site ที่มีอยู่
เช่นที่พบปัญหาบ่อยๆ ว่า .htaccess ไม่สามารถทำงานได้ตามต้องการ ก็เพราะว่า มันพบว่ามีเพจที่ตรงตามเงื่อนไขที่เรียกอยู่ก่อนแล้ว