Seite 1 von 1
Ordner "vorgaukeln" mit htaccess?
Verfasst: 27.10.2004, 17:57
von pampl
RewriteRule ^polyphone_klingeltoene,(.*),(.*),(.*)(\.html?)$ index.php4?seite=polyphone_klingeltoene_list&name=$1&cat=$2&p=$3 [L]
Mit diesem Befehl leite ich zur Zeit Abfragen wie
polyphone_klingeltoene,Rock,2,1.html
auf
index.php4?seite=polyphone_klingeltoene_list&name=Rock&cat=2&p=1
um.
Ich würde nun gerne die erste Datei so aufrufen, dass es wie eine Ordnerstruktur aussieht:
polyphone_klingeltoene/Rock/2,1.html
Wenn ich aber oben statt den Punkten ein Komma einsetze, gibt es einen Scriptfehler...
Wie muss ich das anstellen (möglichst ohne den Ordner wirklich zu erstellen)?
Verfasst:
von
Hochwertiger Linkaufbau bei ABAKUS:
- Google-konformer Linkaufbau
- nachhaltiges Ranking
- Linkbuilding Angebote zu fairen Preisen
- internationale Backlinks
Wir bieten
Beratung und
Umsetzung.
Jetzt anfragen:
0511 / 300325-0
Verfasst: 27.10.2004, 18:59
von Jörg
die entsprechenden Kommata durch einen Slash ersetzen:
Code: Alles auswählen
RewriteRule ^polyphone_klingeltoene/(.*)/(.*),(.*)(\.html?)$ index.php4?seite=polyphone_klingeltoene_list&name=$1&cat=$2&p=$3 [L]
Verfasst: 27.10.2004, 20:33
von pampl
Gibt folgenden Fehler:
Warning: main(polyphone_klingeltoene.php4/Neuheiten/1005,1.php4): failed to open stream: Not a directory in /is/htdocs/22385/
www.hammerpage.de/index.php4 on line 99
Warning: main(): Failed opening 'polyphone_klingeltoene.php4/Neuheiten/1005,1.php4' for inclusion (include_path='./:/usr/share/pear/') in /is/htdocs/22385/
www.hammerpage.de/index.php4 on line 99
Ich bin bei diesen htaccess Sachen nicht so der Freak, also poste ich lieber mal die ganze htaccess datei:
RewriteEngine On
RewriteRule ^polyphone_klingeltoene/(.*)/(.*),(.*)(\.html?)$ index.php4?seite=polyphone_klingeltoene_list&name=$1&cat=$2&p=$3 [L]
RewriteRule ^(.*).html$ index.php4?seite=$1
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 27.10.2004, 20:53
von Caterham
Hi,
muss jedenfalls lauten:
Woher kommt die URI polyphone_klingeltoene.php4/Neuheiten/1005,1.php4? Hast du ein Script namens polyphone_klingeltoene.php4?
Gruß
Robert
Verfasst: 27.10.2004, 21:02
von pampl
das ist das, was ausgegeben wird, wenn ich polyphone_klingeltoene/Neuheiten/1005-1.html aufrufe.
die 2. regel hat aber ohne den backslash schon vorher funktioniert.
Verfasst: 28.10.2004, 09:23
von Caterham
die 2. regel hat aber ohne den backslash schon vorher funktioniert.
Weil der Pun kt für jedes belibige Zeichen steht (--> läuft auch bei aaahtml).
Wie bindest du die Datei in Zeile 99 ein?
per include('polyphone_klingeltoene.php4'); ? Wie da das Ergebnis rauskommt - auch mit .php4 am Ende, finde ich recht komisch.
Verfasst: 28.10.2004, 10:00
von pi-de
Rufe es mal so auf:
polyphone_klingeltoene/Neuheiten/1005,1.html
Dein Fehler liegt anscheinend nicht in htaccess sondern in
php. Vielleicht hast du beim Include ein 'PHP' zu viel dazu geschrieben?
Verfasst: 29.10.2004, 13:51
von pampl
include("$seite".".php4");
Das ist mein include befehl in der index.php
Verfasst: 29.10.2004, 16:03
von Caterham
Wie kommt das
polyphone_klingeltoene
.php4/Neuheiten/1005,1.php4 zustande???
Wenn du polyphone_klingeltoene.php4/Neuheiten/1005,1.html aufrufst, greift die Regel von Post #2 nicht, sondern die General-Regel RewriteRule ^(.*)\.html$ index.php4?seite=$1. Lass' dir durch ein Script die Variable seite einmal ausgeben; experimentiere ein wenig.
das ist das, was ausgegeben wird, wenn ich polyphone_klingeltoene/Neuheiten/1005-1.html aufrufe.
Das kann so nicht sein. Mit deiner URI wird in die General-Regel gesprungen, da du ein Minus statt Komma zw. den Zahlen notierst. Die Variable Seite hat dann folgenden Wert: polyphone_klingeltoene/Neuheiten/1005-1.html
Du includest dann also polyphone_klingeltoene/Neuheiten/1005-1.html.php4.
Aus der Fehlermeldung gelesen, hat die Variable "Seite" diesen Wert: polyphone_klingeltoene.php4/Neuheiten/1005,1
--> .php4 hinter klingeltoene kann so nicht dahinkommen; .html am Ende fehlt.
Solltest du wieder erwarten polyphone_klingeltoene/Neuheiten/1005,1.html - also mit Koma statt Minus aufgerufen haben, hat die Variable seite den Wert von polyphone_klingeltoene_list. Es wird also polyphone_klingeltoene_list.php included. Davon taucht aber in der Fehlermeldung rein gar nichts auf.
Gruß
Robert
Verfasst: 30.10.2004, 02:04
von pampl
Mit dieser htaccess klappts nun endlich:
RewriteEngine on
RewriteRule ^polyphone-klingeltoene/(.*),(.*),(.*)\.html$
https://www.xxx.de/index.php4?seite=pol ... at=$2&p=$3 [L]
RewriteRule ^(.*)\.html$ /index.php4?seite=$1
Problem zum Teil, dass ich eine Datei polyphone_klingeltoene.php4 auf dem Server hatte
Jetzt wo es funktioniert habe ich aber ein neues Problem:
Die Links in der index.php4 zeigen jetzt alle auf polyphone-klingeltoene/datei.html statt auf datei.html, da die index.php4 sozusagen glaubt sie würde sich im ordner "polyphone-klingeltoene" befinden.
Kann man dieses Problem irgendwie lösen ohne alle Links zu absoluten Links zu ändern?
Verfasst: 30.10.2004, 17:08
von Caterham
Die Links müssen umgestellt werden, da der Browser denkt, er befindet sich im Verzeichnis polyphone-klingeltoene.
Von daher musst du notieren
Code: Alles auswählen
../datei.html oder
/datei.html oder
http://www.xxx.de/datei.html
Gruß
Robert
Verfasst: 30.10.2004, 21:02
von pampl
danke, klappt.
Verfasst: 31.10.2004, 12:48
von whyte
fehlt da net noch das RewriteBase / ???
Verfasst: 31.10.2004, 15:48
von Caterham
im obersten Verzeichniss muss es nicht unbedingt angegeben werden