Session + rewrite
Verfasst: 22.02.2006 09:54
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:
in content.php steht ein Link auf eine Seite_x und auf die Startseite der anderen Sprache
in der Navigation stehen die anderen Menulinks
htaccess lautet
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
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