XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   [mod_rewrite] index.php aus URI löschen (http://xhtmlforum.de/showthread.php?t=61418)

markuskoehler 12.06.2010 18:02

[mod_rewrite] index.php aus URI löschen
 
Hey Mädels und Jungs!

Ich versuche nun schon seit Wochen, eine Lösung für meinen Wunsch zu finden, aus einer URI - falls gegeben - das "index.php" zu eliminieren. So schwer kann das doch nicht sein? Wäre vllt. jemand so freundlich, mir da weiterzuhelfen?

Herzlichen Dank im Voraus...

heiko_rs 12.06.2010 18:27

Meinst Du Kanonische Adressen?

markuskoehler 12.06.2010 21:46

Jou, das wars was ich gesucht hatte. Much thx! Allerdings hab ich jetzt n schwerwiegendes generelles Problem... Wenn ich die URI "http://www.p-its.biz/index.php?test=true" eingebe, will ich eigentlich eine Umformung in "http://p-its.biz/?test=true" haben. Allerdings kommt dabei im Moment "http://http//.p-its.biz//?test=true". Und ich kann einfach keinen Fehler in meiner .htaccess finden. Wohl auch weil ich mich erst seit paar Wochen mit mod_rewrite beschäftige... Ich hoffe, ihr könnt mir weiterhelfen. Hier meine .htaccess:

Code:

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti* robots.txt

#<FilesMatch "\.(ini|xml)$">
        #Order deny,allow
        #Deny from all
        #Satisfy all
#</Files>

<Limit GET POST>
        Order deny,allow
        Deny from all
        Allow from all
</Limit>

<Limit PUT DELETE>
        Order deny,allow
        Deny from all
</Limit>

DirectoryIndex index.php

# Options None
# Options +FollowSymLinks +ExecCGI +Includes +MultiViews

Options +FollowSymLinks
 
RewriteEngine On
RewriteBase /

# download flash per calling /getflash
RewriteRule ^getflash/?$ http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash [NC,R=307] # removed: L; temporary redirect

# shortcodes /go/... => /pages/go/?go=...
RewriteRule ^go/([0-9]+)$ /pages/go/\?go=$1 [NC,R=301] # moved permanently

# displaying .phps as source-code
RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]

# erasing "index.php"
RewriteCond %{THE_REQUEST} index\.php [NC]
RewriteCond %{HTTP_HOST} p-its\.biz$ [NC]
RewriteRule (.*)index\.php http://p-its.biz/$1 [NC,R=301]

RewriteCond %{THE_REQUEST} index\.php [NC]
RewriteCond %{HTTP_HOST} ^p-its\.selfip\.biz$ [NC]
RewriteRule (.*)index\.php http://p-its.selfip.biz/$1 [NC,R=301]

# require no www (\.selfip?)
#RewriteCond %{HTTP_HOST} !^p-its(\.selfip?)\.biz$ [NC]
#RewriteRule ^(.*)$ http://p-its\.biz/$1 [R=301] # removed: L
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

EDIT: mit der lokalen URI, die auf meinen lokalen Apache weiterleitet, funktioniert's einwandfrei (vllt. auch, weil ich da kein www. vornedran setzen kann, weil dyndns keine wildcards mehr unterstützt)

uspri 12.06.2010 22:47

RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Dort dürfte Dein Fehler liegen, dass %1 solltest Du durch Deinen Host ergänzen, oder das http:// davor weglassen. Bin mir aber nicht sicher.

uspri 12.06.2010 22:49

Zitat:

Zitat von markuskoehler (Beitrag 467899)
EDIT: mit der lokalen URI, die auf meinen lokalen Apache weiterleitet, funktioniert's einwandfrei (vllt. auch, weil ich da kein www. vornedran setzen kann, weil dyndns keine wildcards mehr unterstützt)

Ich nutze doch auch Wildcards bei Dyndns.org, sollte also gehen.

markuskoehler 13.06.2010 00:34

Aber wenn man da in die Einstellungen reinschaut ist doch die Wildcard-Option nur für kostenpflichtige Pakete verfügbar? Ich weiß, bis vor kurzem hats gefunt, aber jetzt funzts einfach nimmer :(

markuskoehler 13.06.2010 00:43

Wasn Scheiß! Jetzt kommt dabei (kam während der Änderungen, die du empfohlen hast und kommt nachm Rückgängigmachen immernoch) dabei raus: "http://www.p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/p-its.biz/http:/p-its.biz/?test=true" -.- Ah mir is grad zufällig aufgefallen, am ende steht ja nochmal n http drin... is mir unerklärlich...

uspri 13.06.2010 08:37

Evtl. solltest Du mal bei Deinen Regeln hinten das L mit anhängen, nicht das der alle Regeln der Reihe nach weiter ausführt, auch wenn schon eine gegriffen hat. Ansonsten kann ich zu Dyndns nur noch sagen, dass ich grad mal in meinen Account geschaut hab und da steht bei meinem Host Wildcard Status:
Enabled drinnen. Vielleicht haben die das geändert und Bestandskunden behalten das.

markuskoehler 13.06.2010 12:45

Zu der Sache mit Dyndns erstmal:

http://img822.imageshack.us/img822/8...4038001.th.png

Ich dachte, mit "L" gekennzeichnete Regeln wären wirklich die letzte ausgeführte Regel überhaupt? Werd deinen Tipp aber mal probieren. Danke schonmal.

markuskoehler 13.06.2010 13:05

Ähm... Der Weiterleitungsfehler liegt gar nicht bei meiner .htaccess. Jetzt hab ich sie gelöscht und es apssiert imer noch. Könnte das ein Caching-Fehler vom Chrome sein? Wie kann ich den Cache leeren?^^

Praktikant 13.06.2010 13:32

mit ALT+F5 oder SHIFT+"Klick auf Aktualisieren im Browser" (Maus) :)

markuskoehler 13.06.2010 23:25

Meinste ich bin so ****? :D Die URI wird doch umgeschrieben, da gibts doch nix zu aktualisieren^^ Wenn ich dann den Cache auf die Art lösche, würd mir ja die umgeschriebe URI aktualisiert, die ja gar nicht existieren kann!^^

P.S.: Jawolle, 4:0 gegen Australien!!!

Walter IT-Services 15.06.2010 14:31

Hallo!

Das Caching Problem hab ich meist auch, wenn ich an sowas bastel.
Die einfachste Methode ist, einen zweiten und/oder dritten Browser zu nehmen.
Alternativ würde ich mal den Inkognito-Modus von Chrome an der Stelle testen. Vielleicht ignoriert der den Cache.


LG
Micha


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:20 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023