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 17: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 17:27

Meinst Du Kanonische Adressen?

markuskoehler 12.06.2010 20: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 21: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 21: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 12.06.2010 23: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 12.06.2010 23: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 07: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 11: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 12: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?^^


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:12 Uhr.

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

© Dirk H. 2003 - 2023