A-AA+then

ทำเว็บไซต์ 2 ภาษาด้วย .htaccess

1,292
ผมทำเว็บไซต์ที่มี 2 ภาษา  โดยแบ่งหน้าภาษาไทยกับภาษาอังกฤษ เป็นแบบนี้
www.website.com/th/
www.website.com/en/

ทีนี้ หากมีคนเข้าที่ www.website.com ผมต้องการให้ redirect ไปที่ www.website.com/th/
ผมต้องเขียน .htaccess ยังไงครับ หรือสามารถใช้วิธีอื่นได้

ขอบคุณครับ

4 ความคิดเห็น

หลายวิธีครับ

เช่น สร้างไฟล์ index.php ที่ root โดยถ้าเรียกไปที่ไฟล์นี้ ให้ rediurect ไปยัง page ที่ต้องการ

<?php
 // root/index.php
  header("Location : /th/index.php");
?>


ถ้า htaccess

RewriteRule ^(.*)$ /th/index.php [R,L]

น่าจะประมาณนี้ครับ
1

เดี๋ยวผมจะลองดู ขอบคุณมากครับ
2

ผมลองดูแล้วครับ ยังไม่ได้
ผมมีไฟล์ .htaccess อยู่แล้ว และมีโค้ดประมาณนี้ครับ

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.*) index.php

Options -Indexes


ไม่แน่ใจว่าที่ไม่ได้เพราะมันไปตีกับโค้ดเก่าหรือเปล่า
3

โค้ดนี้ไม่เกี่ยวข้องเลยครับ มันเป็นการ redirect ไปยัง index.php หากไม่พบหน้าเพจ

จริงๆแล้วอาจต้องทดสอบนะครับ เพราะมันอาจขึค้นกับเงื่อนไขอื่นๆด้วย เช่น path หรือ โครงสร้างของ site ที่มีอยู่

เช่นที่พบปัญหาบ่อยๆ ว่า .htaccess ไม่สามารถทำงานได้ตามต้องการ ก็เพราะว่า มันพบว่ามีเพจที่ตรงตามเงื่อนไขที่เรียกอยู่ก่อนแล้ว
4
^