2012-02-05 25 views
7

tôi có trang web cho phép mọi người tải trực tuyến thủ công. Tôi có một phiên bản mới của hướng dẫn sử dụng, nơi tất cả mọi thứ được tạo ra tự động bằng cách sử dụng php và mysql. vì vậy không có nhiều html được tạo ra.hướng dẫn sử dụng (seo + tự động tạo)

tôi có hướng dẫn bằng tiếng Pháp và tiếng Anh ngay bây giờ. i biết rằng vì mục đích công cụ tìm kiếm nó sẽ là tốt nếu tôi có url thân thiện với gogole và yahoo vv ...

bây giờ đây là vấn đề của tôi:

tôi muốn hiển thị url như thế này:

  • /bằng tay/rằng sẽ đi đến trang hướng dẫn chính mà người dùng chọn một lang
  • /bằng tay/fr/này sẽ hiển thị danh sách tất cả các chương có sẵn
  • /manual/fr/1.0 này sẽ hiển thị chương 1

tôi đã có ý tưởng nơi tôi cần phải sử dụng một cái gì đó như:

rewriterule /manual/(.*)/(.*)/(.*)/ index.php?lang=$1& ... 

tôi có thể làm bằng 1 quy tắc này? hoặc tôi cần bội số?

cảm ơn rất nhiều

Trả lời

11

Đây là những gì bạn phải làm:

RewriteEngine On 
RewriteRule ^manual/?$ index.php?action=selectLang [L,NC,QSA] 
RewriteRule ^manual/(fr|en)/?$ index.php?action=listChapter&lang=$1 [L,NC,QSA] 
RewriteRule ^manual/(fr|en)/([0-9\.]+)(/[^/]+)?/?$ index.php?action=listChapter&lang=$1&chapter=$2 [L,NC,QSA] 

Người đầu tiên sẽ tải trang mà người dùng chọn một lang. Trong PHP của bạn, bạn có thể kiểm tra $_GET['action'] để bạn có thể tải trang "chọn lang". Ý tưởng thứ hai giống như ý tưởng đầu tiên nhưng cho danh sách chương. Giờ đây, thứ ba, bạn có thể sử dụng /manual/fr/1.0 hoặc /manual/fr/1.0/chapter-title. Điều này sẽ làm việc tốt hơn cho SEO nếu bạn thêm tiêu đề.

[] vào cuối mỗi RewriteRule là những lá cờ, học hỏi thêm ở đây: http://httpd.apache.org/docs/2.3/rewrite/flags.html

+0

nhờ sự giúp đỡ của bạn, tôi có rất nhiều để học tại – Bianca

+0

bạn chào đón, yeah lúc đầu nó không phải dễ dàng nhưng bạn sẽ nhận được nó ! –

Các vấn đề liên quan