Flashhilfe.de - Flash Community

htaccess Verzeichnis für Sprache simulieren

 


AntwortenRegistrieren Seite1  

Renieh#1
Benutzerbild von Renieh
Beiträge: 3
Registriert: Jul 2011

28.07.2011, 11:39

Hallo Leute,

leider raffe ich den mod_rewrite nicht und
breche mir bei diesem Prob. wohl die Ohren.
Vielleicht kann mir jemand helfen:

Ich habe im Root-Verzeichnis verschiedene Dateien.
Z.B.
datei_a.php
datei_b.php
...

Gerne möchte ich, daß immer, wenn sprache=xx übergeben wird
-unabhängig davon, an welche Datei übergeben wird -
für xx ein Ordner simuliert wird.

wenn ich eingebe:
http://www.meinedom.de/datei_a.html?sprache=xx
soll oben stehen:
http://www.meinedom.de/xx/datei_a.html

wenn ich eingebe:
http://www.meinedom.de/datei_b.html?sprache=xx
soll oben stehen:
http://www.meinedom.de/xx/datei_b.html

aber auch Eingabe:
http://www.meinedom.de/?sprache=xx
soll oben stehen:
http://www.meinedom.de/xx/

Immer soll automatisch die entsprechende Datei aus dem Rootverzeichnis ausgeführt werden.
und an diese wieder sprache=xx übergeben werden, damit die Anzeige des Ordners bleibt.

Bisher habe ich nur Regeln gefunden, die eine echte Umleitung durchführen.
Dabei ändert sich aber leider die URL.

Das ist meine jetzige .htaccess:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^teil1(.*).html$ teil1.php?id=$1 [L]
RewriteRule ^teil2(.*).html$ teil2.php?id=$1 [L]
RewriteRule ^sitemap(.*).xml$ sitemap.php?id=$1 [L]
RewriteRule ^(.*).html$ $1.php

RewriteCond %{HTTP_HOST} ^meinedom\.de$ [NC]
RewriteRule ^(.*)$ http://www.meinedom.de/$1 [R=301,L]

RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

Für die Hilfe möchte ich mich jetzt schon bedanken.
Werbung
Beiträge: 0
Registriert: Feb 2016


Sebastian#2
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

28.07.2011, 11:48

Am besten schmeist Du erst mal alles aus der Datei was Dir evtl. in die Quere kommen könnte. Also alle übrigen RewriteRules.
Dann kannst Du das mal versuchen:
ActionScript:
1RewriteRule ^([^/]+)/([^/]+)\.html$ /$2?sprache=$1 [NS,QSA,L]

Oder:
ActionScript:
1RewriteRule ^([a-z]+)/([^/]+)\.html$ /$2?sprache=$1 [NS,QSA,L]

Wenn das auch nicht hinhaut, versuch es erst mal mit einer festen Sprache:
ActionScript:
1RewriteRule ^(de)/([^/]+)\.html$ /$2?sprache=$1 [NS,QSA,L]


Viele Grüße,
Sebastian
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
Renieh#3
Benutzerbild von Renieh
Beiträge: 3
Registriert: Jul 2011

Themenautor/in

28.07.2011, 17:46

Hallo Sebastian,

vielen Dank für Deine Tipps!

leider hat nichts funktioniert.
Ich mußte den hoster (he) kontaktieren, damit da mal irgendwo ein reset gemacht wird.
War aber kein Problem - 2 Min. und alles lief wieder.
Tja - man sollte halt nicht bei einer laufenden Seite solche "Test" machen.
Ok - daraus habe ich gelernt.

Hoffentlich findest Du mich jetzt nicht für unverschämt.
NOT macht halt erfinderisch - und deshalb habe ich eine kl. Testumgebung eingerichtet, wo es egal ist, wenn ich was falsch mache.
Vielleicht darf ich Dich bitten, dort nochmal zu schauen????
http://www.natuerlich-thews.de
Dort habe ich alle Deine Regeln eingebaut - aber bis auf die letzte auskommentiert.
Aber wie gesagt - nichts funzt.
Die .htaccess kann man dort beliebig anpassen.

Vielleicht kann ich ja auch auf die Weitergabe der Sprache verzichten und die
Sprache mit php in einer Sessionvar speichern. Aber dadurch würde die Ordnersimulation
wohl nicht mehr funzen.

Vielen Dank!
Renieh
Geändert von Renieh am 28.07.11 um 18:43 Uhr
Sebastian#4
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

28.07.2011, 21:46

Puh, da änder aber mal schnell wieder Deine Seite. So kann ja jeder alles auf Deinem Server machen.

Meine RegEx haben eigentlich alle funktioniert. Lediglich die Dateiendung Deiner Dateien (.php) hatte gefehlt. Damit geht es:
ActionScript:
1RewriteRule ^([^/]+)/([^/]+)\.html$ /$2.php?sprache=$1 [NS,QSA,L]


Viele Grüße,
Sebastian
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
Werbung
Beiträge: 0
Registriert: Feb 2016


Renieh#5
Benutzerbild von Renieh
Beiträge: 3
Registriert: Jul 2011

Themenautor/in

29.07.2011, 19:47

Hallo Sebastian,

Du hast Recht - Deine Regeln funktionieren.

Heute morgen habe ich mit dem Supp. vom Hoster telefoniert.
Die meinten, daß die Regeln deshalb nicht funktionieren können,
weil z.B bei
RewriteRule ^([^/]+)/([^/]+)\.html$ /$2.php?sprache=$1 [NS,QSA,L]
der Slash vor $2 hinderlich sei.
Als ich es noch am Telefon ausprobierte, dachte ich, daß sie im Recht sind.
Da war es tatsächlich so.

Später habe ich jedoch gemerkt, daß Deine Regeln einwandfrei funzen - auch mit Slash.
Ich denke, daß der Server fehlkonfiguriert war und die es nicht zugeben wollten.
Nur domain/simulierter_ordner/     ---- also ohne index.html funzt nicht.

Also vielen, vielen Dank für Deine Hilfe!

Naja - ich habe ziemlich viel rumprobiert, weil ich gesehen habe,
daß die grafiken, css... immer im Unterordner des simulierten Ordners gesucht werden.

Kann man die Regel noch so umstriken, daß auch die Pfade für grafiken, scripte, css
gleich mit umgebogen werden.
Jetzt ist es nämlich so, daß diese Dateien im Unterordner des simulierten Ordners gesucht werden.

Das wäre "göttlich"!

Ach - wenn es hier jemand gibt, der Android-Apps programmieren kann - den vermittle ich gern an einem gut zahlenden Auftraggeber - Bedarf ist schon ziemlich konkret

Viele Grüße
 Renieh
Geändert von Renieh am 29.07.11 um 19:55 Uhr
Sebastian#6
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

29.07.2011, 22:22

Das was Dein Hoster über dem / schreibt ist Blödsinn. Der / gibt nur an das sich die Datei im Hauptverzeichnis befindet.

Beispiel:
Du hast die htaccess in einem Verzeichnis "dir" liegen. Wenn Du den / im RegEx weglässt würde der Server in dem Verzeichnis www.domain.de/dir nach den Dateien suchen. Mit / am Anfang sucht es statt dessen im Hauptverzeichnis, also www.domain.de/ obwohl Dein .htaccess in dir liegt.

Und genau mit diesem / kannst Du auch alle Deine Bilder verlinken. Dann ist es egal wie der virtuelle Pfad aussieht, sie werden bspw. immer in www.domain.de/images gesucht.
Also einfach:
ActionScript:
1<img src="/images/bild.gif" ...>


Grüße,
Sebastian
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
Renieh#7
Benutzerbild von Renieh
Beiträge: 3
Registriert: Jul 2011

Themenautor/in

02.08.2011, 10:32

Hallo Sebastian,

ich finde es immer ein wenig "undankbar", wenn die Leute in irgendwelchen Foren Fragen stellen, die hilfreichen Tipps verwenden, aber den Helfer kein Feedback über die Seite geben.

Nun - das ist bei mir anders:

Ich hab noch ziemlich lange rumgestrickt, weil sich noch andere Probleme ergeben haben,
aber dank Deiner Tipps funzt nun folgende Seite:
http://www.tcm- akupunktur-therapeuten.de/zh/index.html

Nochmal vielen Dank

Renieh
Sebastian#8
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

02.08.2011, 17:08

Hallo Renieh,

da hat Du allerdings recht. Freut einen ja auch zu hören wenn die Tipps weitergeholfen haben.

Viele Grüße,
Sebastian
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de