Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   .htaccess / ModRewrite: Subdomains einbeziehen (https://www.delphipraxis.net/134140-htaccess-modrewrite-subdomains-einbeziehen.html)

Matze 16. Mai 2009 14:28


.htaccess / ModRewrite: Subdomains einbeziehen
 
Hi zusammen,

ich nutze hauptsächlich ModRewrite in der Art:

Code:
# mode and page
RewriteRule ^([a-z_]+)/([a-z_]+)\.html$ index.php?page=$1&mode=$2
Das funktioniert wunderbar, wenn die URLs in der Art aufgebaut sind: http://domain.tld/abc/def.html. So funktioniert es bei mir leider nicht mehr: http://sub.domain.tld/abc/def.html.

Wie muss der Code abgeändert werden, um das zu erreichen?
Einen Umweg über "RewriteCond" finde ich schlecht, da ich dann die Domain an sich mit angeben muss.

Grüße, Matze

himitsu 16. Mai 2009 14:37

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
ist bei RewriteRule denn überhaupt die Domain mit enthalten? :gruebel:

glaub nicht, denn sonst würde dein Beispiel ja auch nicht gehn
> abc/def.html > index.php?page=abc&mode=def

ich dachte für Subdomains werden Umleitungen eingerichtet und diese in angegebene Ordner umgeleitet :gruebel:

mir war so, als wenn ich damals sowas wie subdomain:"sub" path:"/mysub" im CONFIXX angegeben hatte

und dann aus http://sub.domain.tld/abc/def.html dieses http://domain.tld/mysub/abc/def.html wurde,
also quasi mysub/abc/def.html im RewriteRule ankäme

DenSchub 16. Mai 2009 15:42

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
Und was wenn die domain.tld auf den Ordner /html/main und die sub.domain.tld auf den Ordner /html/sub geht? ;-)

Grüße,

Matze 21. Mai 2009 06:58

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
Hi,

also das muss mit .htaccess irgendwie gehen. Es kann auch sein, dass es am Hoster bzw. einer Servereinstellung liegt.

Folgende RewriteRule (s. oben) ging bisher problemlos:

Code:
# mode and page
RewriteRule ^([a-z_]+)/([a-z_]+)\.html$ index.php?page=$1&mode=$2
Ich nutzte allerdings eine Domain, die nur Buchstaben und einen Bindestrich enthält. Nun habe ich eine, die auch Ziffern beinhaltet. Ich denke jedoch nicht, dass dies was ändern würde.

Müsste meine RewriteRule auch mit dieser Domain funktionieren?
"RewriteEngine On" ist natürlich in der .htaccess enthalten und über phpinfo() sehe ich, dass das Apache-Modul "mod_rewrite" geladen ist.

Grüße, Matze

SirThornberry 21. Mai 2009 09:05

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
Ich hab mir die Arbeit mit RewriteRule erspart und einfach ein 404-Errordocument gemacht.
In diesem werte ich die URL aus und verwerfe gegebenfalls den Fehler und mache ein Redirect (per Header) auf die eigentliche Seite. Das hat den Vorteil das man bequem alle möglichen Sonderfälle abfangen kann.

Matze 21. Mai 2009 09:50

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
Es geht mir nicht um 404-Meldungen, sondern um das Umschreiben von URLs.

Aber es sieht ganz so aus, als ob auf dem neuen Server jegliche .htaccess-Dateien ignoriert werden. Auch ein Passwortschutz greift nicht. :gruebel:

Ich kläre das mal mit dem Hoster ab.

Grüße

SirThornberry 21. Mai 2009 09:58

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
Zitat:

Es geht mir nicht um 404-Meldungen, sondern um das Umschreiben von URLs.
Ging es mir bei meinem Fall auch nicht. Der Nutzer soll keine 404-Meldung sehen sondern einfach auf eine andere URL geleitet werden bzw. wo der gewünschte Inhalt ist.
Den 404 Code habe ich dabei mit:
Code:
header("success", true, 200);
durch den 200 code ersetzt.

Matze 21. Mai 2009 10:05

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
Also das mit den Fehlern ging bei mir immer:

Code:
ErrorDocument 400 /error.php?code=400
ErrorDocument 401 /error.php?code=401
ErrorDocument 403 /error.php?code=403
ErrorDocument 404 /error.php?code=404
ErrorDocument 500 /error.php?code=500
Ich glaube wirklich, dass .htaccess deaktiviert ist.

SirThornberry 21. Mai 2009 10:09

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
wenn .htaccess generell nicht geht braucht man über den Rest nicht reden :)
Genau so hab ich es in mit .htaccess auch. Und in dem entsprechenden Script (bei dir /error.php?code=404) kannst du dann die aufgerufene URL auswerten, den Rückgabecode neu setzen etc.

DenSchub 21. Mai 2009 14:31

Re: .htaccess / ModRewrite: Subdomains einbeziehen
 
Jupp Matze, auch bei mir (@andere: Gleicher Server, gleicher Hoster) gehen htaccess nicht.
Sogar wenn ich "burlbburlbdoing" reinschreib gibts nichtmal ein 500 *g*

Grüße,


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz