Umleitung von Domain.de/test auf Domain.de/test.php
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bild
code
dank
datei
domain
empfehlen
erstellen
exotische art
folgendem inhalt
jemand
kleinschreibung
mache
meldung
not
ordner
server
test
umlaut
url
verwenden
-
Guten Morgen alle zusammen,
ich möchte eine kleine Umleitung mit .htaccess erstellen und zwar möchte ich, dass wenn man www.meinedomain.de/test eingibt auf www.meinedomain.de/test.php weitergeleitet wird. Derzeit bekomme ich immer nur die Meldung, das es die Seite nicht gibt und das test.php den gleichen Basisnamen hat...Gut erkannt, lieber Server
MfG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Meinst du etwa sowas?
-
hackyourlife schrieb:
Meinst du etwa sowas?
Jo, meine ich, aber ich bekomme es irgendwie nicht hin. Hab den Thread durchgearbeitet und alle Beispiele probiert, nichts funktioniert. Kann es sein, das mein Browser irgendwas im Cache gespeichert hat, sodass er die .htaccess ignoriert?
In meinem Code will ich von domain.de/MineZ auf domain.de/MineZ.php umleiten:
RewriteEngine on RewriteCond %{MineZ}.php -f RewriteRule ^(.*)$ $1.php [L] RewriteCond %{MineZ}.html -f RewriteRule ^(.*)$ $1.html [L]
-
schinkenmedia schrieb:
Das funktioniert nicht, weil du die htaccess "verpfuscht" hast...
In meinem Code will ich von domain.de/MineZ auf domain.de/MineZ.php umleiten:
RewriteEngine on RewriteCond %{MineZ}.php -f RewriteRule ^(.*)$ $1.php [L] RewriteCond %{MineZ}.html -f RewriteRule ^(.*)$ $1.html [L]
Du musst die .htaccess 1:1 so verwenden wie sie dort steht:
Dabei wird aus /irgendwas immer /irgendwas.php falls eine php-Datei existiert und falls sie nicht existiert aber dafür eine html wird dorthin umgeleitet.RewriteEngine on RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php [L] RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ $1.html [L]
-
hackyourlife schrieb:
schinkenmedia schrieb:
Das funktioniert nicht, weil du die htaccess "verpfuscht" hast...
In meinem Code will ich von domain.de/MineZ auf domain.de/MineZ.php umleiten:
RewriteEngine on RewriteCond %{MineZ}.php -f RewriteRule ^(.*)$ $1.php [L] RewriteCond %{MineZ}.html -f RewriteRule ^(.*)$ $1.html [L]
Du musst die .htaccess 1:1 so verwenden wie sie dort steht:
Dabei wird aus /irgendwas immer /irgendwas.php falls eine php-Datei existiert und falls sie nicht existiert aber dafür eine html wird dorthin umgeleitet.RewriteEngine on RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php [L] RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^(.*)$ $1.html [L]
Irgendwas mache ich falsch. Ich habe es jetzt 1:1 übernommen und bekomme trotzdem die Meldung:
Multiple Choices
The document name you requested (/minez) could not be found on this server. However, we found documents with names similar to the one you requested.
Available documents:
/minez.png (common basename)
/minez.GIF (common basename)
/MineZ.php (common basename)
--------------------------------------------------------------------------------
Apache Server at schinkenmedia.de Port 80
Edit: Wenn ich MineZ Großschreibe, dann klappt alles. Aber was, wenn jemand kleinschreibt?
Edit 2: Habs jetzt auf eine mehr oder weniger exotische Art gelöst:
ich habe eine Datei namens minez.php erstellt (also klein geschrieben) mit folgendem Inhalt:
<head> <meta http-equiv="refresh" content="0; url=http://schinkenmedia.de/MineZ"> </head>
Wenn niemand eine andere Lösung weis, kann das Thema geschlossen werden. Und danke für deine Hilfe :-)
Beitrag zuletzt geändert: 8.8.2012 10:14:56 von schinkenmedia -
Das liegt daran, dass Linux (der Webserver) penibel auf Groß- und Kleinschreibung achtet, es ist also case sensitive.
Das heißt, wenn du MineZ reinschreibst, dann nimmt der Server das, schaut ob es eine MineZ.php gibt. Wenn ja dann holt er dir diese Seite zum Client. Wenn nein schaut er nochmal obs das als HTML-Datei gibt. Wenn du jetzt also eingibst
dann schaut er obs eine minez.php gibt, die gibt es aber nicht, das heißt er hat nichts passendes gefunden denn eine minez.html gibts auch nicht und daher zeigt er jetzt alles an was auf deinem Server ist (denke ich).domain.de/minez
Ich würde dir empfehlen Dateinamen immer klein zu schreiben (und natürlich ohne Umlaute). Außerdem solltest du für deine Bilder einen eigenen Ordner erstellen.
MfG
Dominic -
naturfit schrieb:
Das liegt daran, dass Linux (der Webserver) penibel auf Groß- und Kleinschreibung achtet, es ist also case sensitive.
Das heißt, wenn du MineZ reinschreibst, dann nimmt der Server das, schaut ob es eine MineZ.php gibt. Wenn ja dann holt er dir diese Seite zum Client. Wenn nein schaut er nochmal obs das als HTML-Datei gibt. Wenn du jetzt also eingibst
dann schaut er obs eine minez.php gibt, die gibt es aber nicht, das heißt er hat nichts passendes gefunden denn eine minez.html gibts auch nicht und daher zeigt er jetzt alles an was auf deinem Server ist (denke ich).domain.de/minez
Ich würde dir empfehlen Dateinamen immer klein zu schreiben (und natürlich ohne Umlaute). Außerdem solltest du für deine Bilder einen eigenen Ordner erstellen.
MfG
Dominic
Ich habe das aus Stilgründen so geschrieben :) Aber danke für die beiden Tipps.
MfG -
schinkenmedia schrieb:
Hier wäre es besser, wenn du es so machen würdest:
Edit 2: Habs jetzt auf eine mehr oder weniger exotische Art gelöst:
ich habe eine Datei namens minez.php erstellt (also klein geschrieben) mit folgendem Inhalt:
<head> <meta http-equiv="refresh" content="0; url=http://schinkenmedia.de/MineZ"> </head>
<?php header('location: http://schinkenmedia.de/MineZ'); ?>
Eine andere Lösung gäbe es auch noch:RewriteEngine on RewriteCond %{MineZ}.php -f RewriteRule ^(.*)$ $1.php [L] RewriteCond %{MineZ}.html -f RewriteRule ^(.*)$ $1.html [L] RewriteRule ^minez$ minez.php [NC]
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage