2012-02-05 13 views
7

Mam stronę internetową, która pozwala ludziom na pobranie instrukcji obsługi online. Mam nową wersję instrukcji, w której wszystko jest generowane dynamicznie za pomocą php i mysql. więc nie generuje już html.instrukcja użytkownika (seo + auto generowanie)

Mam instrukcję w języku francuskim i angielskim. Dowiaduję się, że dla celów wyszukiwarkach będzie dobrze jeśli mam URL, które są przyjazne dla gogole i yahoo itd ...

teraz tu jest mój problem:

chcę pokazać url tak:

  • /manual/że trafi do głównej strony podręcznika, w którym użytkownik wybierz a lang
  • /manual/fr/Spowoduje to wyświetlenie listy wszystkich dostępnych rozdziałów
  • /manual/fr/1.0 ten wyświetli rozdział 1

wpadłem na pomysł, gdzie trzeba użyć czegoś takiego:

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

można zrobić to za pomocą 1 regułę? lub potrzebuję wielokrotności?

Dzięki tak dużo

Odpowiedz

11

Oto co trzeba zrobić:

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] 

Pierwszy załaduje stronę, na której użytkownik Choose a Lang. W swoim PHP możesz sprawdzić $_GET['action'], abyś mógł załadować stronę "wybierz język". Drugi pomysł jak pierwszy, ale lista rozdziałów. Teraz trzeci, możesz użyć /manual/fr/1.0 lub /manual/fr/1.0/chapter-title. Będzie to działało lepiej dla SEO, jeśli dodasz tytuł.

[] na koniec każdego RewriteRule są flagi, aby dowiedzieć się więcej tutaj: http://httpd.apache.org/docs/2.3/rewrite/flags.html

+0

dzięki za pomoc, mam dużo do nauczenia się teraz – Bianca

+0

jesteś mile widziane, tak na początku nie jest łatwo, ale można go dostać ! –

Powiązane problemy