RewriteRule und Link Problem

chill0r55555

Mitglied
Hallo Zusammen,

ich habe mir gerade über die ".htaccess" Datei eine RewriteRule gebastelt.
Undzwar wollte ich folgendes erreichen:

Ich Rufe überlicherweise mein Newsscript wie folgt auf:
.../index.php?section=news&page=1

Ich habe es jetzt so umgeschrieben dass ich die GET Variablen nicht in der URL habe.

Code:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^\.htaccess$ - [F]

# Fuer die News mit Seitenangabe
RewriteRule ^(news)/(.*)_(.*)(\.html?)$ index.php?section=$2&page=$3 [L]

Ich kann nun das Newsskript über "http://localhost/news/news_1.html" aufrufen.



Wenn ich jetzt die Seite neu aufrufe und auf den Link "http://localhost/news/news_1.html" klicke sieht die Adressleiste wie folgt aus:

http://localhost/news/news_1.html

Möchte ich nun aber auf die Zweite Seite via Navigation wechseln, dann sieht plötzlich meine Adressleiste im Browser so aus:

http://localhost/news/news/news_2.html

Und es wird natürlich nichts mehr angezeigt. Ausser ich lösche ein "news/" weg dann wird wieder das Newsskript angezeigt. Meine Frage ist nun warum erweitert sich die Adressleiste?

Die Links für die Navigation habe ich wie folgt aufgebaut:

Code:
<a href='news/news_1.html'>1</a>
<a href='news/news_2.html'>2</a>
<a href='news/news_3.html'>3</a>
...

Grüße
 
Moin,

der Fehler liegt in deinen Links, schreibe es so:
Code:
<a href='/news/news_1.html'>1</a>
<a href='/news/news_2.html'>2</a>
<a href='/news/news_3.html'>3</a>
...also ein Slash am Beginn des Pfades

Durch das Slash definierst du als Ausgangsbasis die DOCUMENT_ROOT des Servers.
Tust du dies nicht, wird als Ausgangsbasis das aktuelle Verzeichnis genommen(z.B. /news in deinem Fall), was die bei dir auftretende Wirkung zeigt.
 
Zurück