Seite 1 von 1

Session + rewrite

Verfasst: 22.02.2006 09:54
von tikal
Hallo ich habe meine Seite zweisprachig mit Hilfe und Session programmiert, was auch klappte.
Nun möchte ich url mittels Rewrite umschreiben und habe ein Problem:
index.php:

Code: Alles auswählen

session_start(); 
if(!$_SESSION['language']) {
$_SESSION['language'] = "german";
}  elseif($_REQUEST['lang'] == "en") {
$_SESSION['language'] = "english";
} elseif($_REQUEST['lang'] == "de") {
$_SESSION['language'] = "german";
}
$root="http://web/Web1";
if((!$_SESSION['language']) OR ($_SESSION['language']=="german"))
{include ("Ordner_de/content.php");
 include ("Ordner_de/navigation.php");}
else { include ("Ordner_en/content.php");
include ("Ordner_en/navigation.php");}
?>

in content.php steht ein Link auf eine Seite_x und auf die Startseite der anderen Sprache

Code: Alles auswählen

<a href="'.$root.'/de/Seite_x.html">Seite_x</a>';  
bzw.
<a href="'.$root.'/en/Seite_x.html">Seite_x</a>'; 

<a href="'.$root.'/de/">Deutsch</a>
bzw.
<a href="'.$root.'/en/">English</a>

in der Navigation stehen die anderen Menulinks

Code: Alles auswählen

foreach($menu as $key => $value) 
   {if ($_GET['page']=="$key")     
       {echo' <li class="mainmenu"><a class="mainactive" href="'.$root.'/de/'.($key).'.html">'.($key).'</a>';}
    else
      {echo' <li class="mainmenu"><a class="mainpassiv" href="'.$root.'/de/'.($key).'.html">'.($key).'</a>';}}
      bzw.
         {if ($_GET['page']=="$key")     
       {echo' <li class="mainmenu"><a class="mainactive" href="'.$root.'/en/'.($key).'.html">'.($key).'</a>';}
    else
      {echo' <li class="mainmenu"><a class="mainpassiv" href="'.$root.'/en/'.($key).'.html">'.($key).'</a>';}}

htaccess lautet

Code: Alles auswählen

RewriteEngine on
RewriteRule ^(de|en)/$ index.php?lang=$1 [L]
RewriteRule ^(de|en)/(.*).html$ index.php?page=$2&lang=$1 [QSA,L]

Sowohl die Links in content.php auf eine Seite_x als auch auf die andere Index-Sprachseite klappen,
aber wenn man die Menulinks in der Navigation anklickt, ist de/en nicht da, und somit wird die Seite nicht gefunden.
Stimmen die Anweisungen in den Links nicht, oder die in der htaccess?
Danke für die Hilfe

Verfasst: 22.02.2006 19:14
von Bob
htaccess lautet
Hat mit Quelltextproblemen nichts zu tun.

aber wenn man die Menulinks in der Navigation anklickt
Wie sieht denn der vom PHP-Script generierte HTML-Quelltext aus? Wenn dir deine foreach-Schleife da Sachen in den Quelltext schreibt, können diese beim client ja nicht plötzlich verschwunden sein :shock:

Grüße
Robert