selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

URl per htaccess verbergen

Autor: FelixF
Datum: 28.07.2013 15:03:36

Hallo alle zusammen,
ich suche gerade nach einer Möglichkeit meine URl zu "verbergen".

Die Adresse lautet: http://www.example.de/ordner1/ordner2/content/home.php

Jetzt würde ich gerne nur http://www.example.de/content/home angezeigt bekommen.

Die Endung habe ich bereits wegbekommen (Google hat mal wieder geholfen).

Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$  /$1.php [QSA,L]

Meine zweite Frage wäre, was würde passieren, wenn ich eine URl habe, die dieser Ordnerstruktur nicht entspricht?
Beispielsweise http://www.example.de/ordner/was-auch-immer.php

Danke und liebe Grüße
Felix



Re: URl per htaccess verbergen

Autor: T.Jung
Datum: 29.07.2013 15:18:48

> ich suche gerade nach einer Möglichkeit meine URl
> zu "verbergen".
>
> Die Adresse lautet:
> http://www.example.de/ordner1/ordner2/content/home.php
>
> Jetzt würde ich gerne nur
> http://www.example.de/content/home angezeigt
> bekommen.

Ich hab's jetzt nicht getestet und auch nicht komplett durchdacht (mein Vorschlag ist daher mit Vorsicht zu genießen), aber die RewriteRule müsste in etwa so aussehen:

RewriteRule ^/content/(.*)$ /ordner1/ordner2/content/$1.php


> Meine zweite Frage wäre, was würde passieren,
> wenn ich eine URl habe, die dieser Ordnerstruktur
> nicht entspricht?
> Beispielsweise
> http://www.example.de/ordner/was-auch-immer.php

Da dürfte eigentlich gar nichts passieren, da der reguläre Ausdruck der RewriteRule -- also das »^/content/(.*)$«  -- nicht zutrifft und die Verarbeitung somit abgebrochen werden sollte.

Du solltest aber überlegen, ob Dein Ansinnen wirklich sinnvoll ist. Schließlich sind URIs relevant für Suchmaschinen, und wenn »ordner1« und »ordner2« tatsächlich _sinnvolle_ Namen tragen, wäre es dumm, sie rauszukürzen.

Tragen sie hingegen nichtssagende Namen, wäre eine Kürzung von Vorteil.

Gruß,
Tobias



Re: URl per htaccess verbergen

Autor: FelixF
Datum: 29.07.2013 21:05:41

Danke für deine Antwort.

> Ich hab's jetzt nicht getestet und auch nicht
> komplett durchdacht (mein Vorschlag ist daher mit
> Vorsicht zu genießen), aber die RewriteRule
> müsste in etwa so aussehen:
>
> RewriteRule ^/content/(.*)$
> /ordner1/ordner2/content/$1.php

Ich werde deinen Vorschlag in den nächsten Tag ausprobieren und mich dann hier nochmal melden. Bin gerade im Urlaub, nur das hatte mir keine Ruhe gelassen ;)
  
> Du solltest aber überlegen, ob Dein Ansinnen
> wirklich sinnvoll ist. Schließlich sind URIs
> relevant für Suchmaschinen, und wenn »ordner1«
> und »ordner2« tatsächlich _sinnvolle_ Namen
> tragen, wäre es dumm, sie rauszukürzen.
>
> Tragen sie hingegen nichtssagende Namen, wäre
> eine Kürzung von Vorteil.

Die Adresse lautet etwas http://www.example.de/data/php/content/seite.php

Über die Kürzung hatte ich einerseits überlegt, weil die beiden Ordner nicht "sinnvoll" sind und andererseits um mein Wissen zu erweitern.

Danke erstmal :)



Re: URl per htaccess verbergen

Autor: FelixF
Datum: 12.08.2013 14:24:46

Nachdem ich jetzt wieder aus dem Urlaub zurück bin, habe ich deinen Versuch mal versucht umzusetzen.

In dem Ordner /data/php/content habe ich eine .htaccess Datei gelegt in der folgender Inhalt steht

RewriteEngine On
RewriteRule ^/content/(.*)$ /data/php/content/$1.php

Im Root liegt noch eine weitere .htaccess mit dem Code aus dem vorherigen Posting.

Wenn ich jetzt versuche eine Seite aufzurufen, z.B. blabla.de/content/home.php bekomme ich den Fehler:
500 Internal Server Error

Wenn ich die Orginaladresse /data/php/content/home.php versuche aufzurufen, funktioniert es solange, wie ich die Dateiendung mitführe. Wenn ich diese Weglasse, welches durch die htaccess im Root möglich sein sollte und auch möglich ist, kommt Error 404.

Irgendwelche Ideen, wo der Fehler liegen könnte?

Danke und Grüße
Felix



Re: URl per htaccess verbergen

Autor: T.Jung
Datum: 13.08.2013 12:23:22

> Nachdem ich jetzt wieder aus dem Urlaub zurück
> bin, habe ich deinen Versuch mal versucht
> umzusetzen.
> (...)
> Im Root liegt noch eine weitere .htaccess mit dem
> Code aus dem vorherigen Posting.
>
> Wenn ich jetzt versuche eine Seite aufzurufen,
> z.B. blabla.de/content/home.php bekomme ich den
> Fehler:
> 500 Internal Server Error

Bevor ich mir jetzt den Kopf zerbreche, probiere bitte erstmal aus, die ERSTE htaccess-Datei (die im Root) zu deaktivieren -- nicht, dass das Problem nur daher kommt, dass sich die beiden gegenseitig in die Quere kommen...

Du brauchst die Datei ja auch nicht zu löschen; für einen Test reicht es, sie umzubenennen (z.B. in "_htaccess", also einfach den führenden Punkt ersetzen) und die Seite dann im Browser neuzuladen.

Gruß,
Tobias



Re: URl per htaccess verbergen

Autor: FelixF
Datum: 13.08.2013 14:01:28

Hallo Tobias,

Ich habe jetzt die htaccess im Root umbenannt und auch getestet, dass sie keinen "Einfluss" mehr hat.

Allerdings bekomme ich bei Aufruf der Seite blabla.de/content/home.php die Fehlermeldung 404. Wenn ich die Seite blabla.de/data/php/content/home.php aufrufe, funktioniert es ohne Probleme.

Die htaccess liegt aktuell im Ordner content.

Grüße Felix




Re: URl per htaccess verbergen

Autor: T.Jung
Datum: 17.08.2013 11:30:46

Hallo,

sorry, dass ich in den letzten Tagen so still war, hatte einiges zu tun...

> Allerdings bekomme ich bei Aufruf der Seite
> blabla.de/content/home.php die Fehlermeldung 404.
> Wenn ich die Seite
> blabla.de/data/php/content/home.php aufrufe,
> funktioniert es ohne Probleme.

Und was passiert beim Aufruf von
blabla.de/content/home
... also _ohne_ das ».php« am Ende?

Gruß,
Tobias



Re: URl per htaccess verbergen

Autor: FelixF
Datum: 19.08.2013 19:54:33

Grüß dich

> sorry, dass ich in den letzten Tagen so still
> war, hatte einiges zu tun...

Es ist doch kein Problem. Erstens du bist auch nur ein Mensch, zweitens es eilt nicht so sehr und drittens...fällt mir gerade nicht ein ;)

> Und was passiert beim Aufruf von
> blabla.de/content/home
> ... also _ohne_ das ».php« am Ende?

Wenn ich das ».php« am Ende weglasse, dann kommt "500 Internal Server Error"

Also ich habe jetzt beide .htaccess aktiv gehabt bei dem Test.

Grüße Felix



Re: URl per htaccess verbergen

Autor: T.Jung
Datum: 19.08.2013 20:15:46

> Wenn ich das ».php« am Ende weglasse, dann kommt
> "500 Internal Server Error"
>
> Also ich habe jetzt beide .htaccess aktiv gehabt
> bei dem Test.

Öhm, ich meinte schon: Nur die _neue_ htaccess-Datei aktiv, und dann ohne ».php« aufrufen…

Gruß,
Tobias



Re: URl per htaccess verbergen

Autor: FelixF
Datum: 19.08.2013 21:09:48

Dann kommt leider auch nur Error 404, wenn ich NUR die htaccess Datei im Ordner content aktiv habe.

Gruß Felix



Re: URl per htaccess verbergen

Autor: T.Jung
Datum: 20.08.2013 11:09:42

> Dann kommt leider auch nur Error 404, wenn ich
> NUR die htaccess Datei im Ordner content aktiv
> habe.

Hmm, sorry, dann habe ich im Moment auch keine Idee.
Ich müsste schon versuchen, es beispielhaft nachzuvollziehen, aber das wäre zeitaufwendig -- und genau die Zeit fehlt mir im Moment: Ich gehe nämlich für zwei Wochen in den Urlaub und muss noch packen...

Tut mir also leid, dass ich nicht helfen konnte.
Ich drücke Dir die Daumen, dass noch jemand vorbeikommt, der sagen kann, wo der Denkfehler (der offensichtlich in meinem Vorschlag enthalten war) steckt.

Gruß,
Tobias