Tôi đang cố gắng viết các lệnh chuyển hướng trong .htaccess để chuyển tiếp nội bộ tất cả các yêu cầu của người dùng như thế này:
- Mọi yêu cầu trong thư mục ngôn ngữ sẽ chuyển hướng đến tệp được yêu cầu bằng chuỗi truy vấn ngôn ngữ:
example.com/en/contact.php -> example.com/contact.php?lang=vi
- Chuyển hướng bất kỳ yêu cầu nào không có đường dẫn ngôn ngữ sang thư mục ngôn ngữ mặc định như thế này:
example.com -> example.com/vi
- Xóa dấu gạch chéo nếu địa chỉ được nhập cùng với nó:
example.com/en/ đến example.com/en
- Đối với các dự án thư mục, mọi yêu cầu sẽ dẫn đến tệp view-project.php với các chuỗi truy vấn tương ứng:
example.com/en/projects/test -> example.com/view-project.php?lang=en&path=test
Đây là nỗ lực của tôi, nhưng nó không hoạt động nếu không có dấu gạch chéo theo yêu cầu như: http://www.example.com/de và không chuyển hướng http://www.example.com vào một thư mục ngôn ngữ mặc định.
Viết LạiEngine Trên
RewriteRule ^(en|de)/(.*)$ $2?lang=$1 [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^projects/([^/\.]+)/?$ view-project.php?path=$1 [QSA,L]
Làm thế nào tôi có thể đạt được điều này?
Đây có thể là một bản sao và tôi xin lỗi vì điều đó. Tôi đã tìm kiếm khắp nơi và đọc khoảng 100 bài đăng, nhưng tôi không tìm thấy thứ mình đang tìm kiếm.