Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [mod_rewrite] Domain(link) umleiten auf Subdomain(+link) (https://www.delphipraxis.net/100143-%5Bmod_rewrite%5D-domain-link-umleiten-auf-subdomain-link.html)

MathiasSimmack 23. Sep 2007 10:47


[mod_rewrite] Domain(link) umleiten auf Subdomain(+link)
 
Sorry, ein besserer Titel fiel mir nicht ein. :oops:


Ich habe lokal einen Blog laufen (Ubuntu, Apache, VirtualHosts), der per "domain.org" erreichbar ist. Ich habe eine Subdomain eingerichtet "m.domain.org", die dafür sorgen soll, dass der Blog nicht das Standardthema sondern das Thema für mobile Geräte nutzt. Das klappt auch, weil ich im Plugin abfrage, ob der Servername mit "m." startet. Das Plugin selbst prüft natürlich auch anderweitig, ob jemand mit einem mobilen Browser kommt. Aber mit der Subdomain "m" soll man das mobile Thema auch im normalen Browser erzwingen können. ;)

(Hey! Ich habe doch gesagt, das ist nur lokal! Das funktioniert noch nicht auf meiner HP. :lol:)


Jetzt sehe ich zwar den lokalen Blog im mobilen Design, aber die Links werden nicht speziell angepasst. Der Link zu einem Beitrag lautet also bspw. "domain.org/2007/09/23/name". Daraus soll, idealerweise per RewriteRule, nun "m.domain.org/2007/.../name" werden, wenn der Betrachter vorher auch schon per "m"-Subdomain reinkam. Geht das irgendwie? Ich bin sicher, dass es geht. Ich raff's nur nicht. :(


Literatur im Web, Tutorials, usw. sind höchst willkommen.

DGL-luke 23. Sep 2007 10:50

Re: [mod_rewrite] Domain(link) umleiten auf Subdomain(+link)
 
MOD_REWRITE kann aus Prinzip nicht html-seiten manipulieren. der manipuliert nur die URLs von requests.

Warum benutzt du nicht relative links?

MathiasSimmack 23. Sep 2007 11:08

Re: [mod_rewrite] Domain(link) umleiten auf Subdomain(+link)
 
Für relative Links müsste ich WordPress umschreiben. Dazu fehlt mir die Lust. ;) Und dass ich per mod_rewrite nicht die HTML-Seiten ändern kann, weiß ich. Mir geht es ja auch nur um den Request. Mit anderen Worten:

Wenn Referrer/Remote_Server/??? mit "m." startet,
dann Link so ändern, dass er auch mit "m." startet

MathiasSimmack 23. Sep 2007 14:40

Re: [mod_rewrite] Domain(link) umleiten auf Subdomain(+link)
 
Die folgende Anweisung macht immerhin das, was ich will:
Code:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} ^http://(www\.)?m\.domain\.org.*$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) http://m.domain.org/$1 [L]


#
# originaler WordPress-Code für Permalinks
#
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Ich klicke auf den Link "http://domain.org/.../name" und durch die RewriteRule erscheint im Browser wie gewünscht "http://m.domain.org/.../name". Allerdings habe ich damit natürlich eine Rekursion drin, weil durch die obere Angabe erneut eine Umleitung gemacht wird, usw. usw. usw. :(

Matze 23. Sep 2007 15:25

Re: [mod_rewrite] Domain(link) umleiten auf Subdomain(+link)
 
Hi,

ich nutze bei meiner Seite generell nur absolute Links (http://...). Je nach dem, welche Domain/IP genutzt wurde, werden auch die Domains für die Links angepasst. Dies mache ich im Groben so, dass ich die Links zusammensetze und die Domain in einer extra Variablen habe (ungetestet):

Code:
function adjust_domain($domain)
{
   if (isset($_SERVER["HTTP_HOST"]) && ! empty($_SERVER["HTTP_HOST"]))
   {
      $domain = 'http://' . $_SERVER["HTTP_HOST"] . '/';
   }
   return $domain;
}
Bemerkung: Im Parameter $domain übergebe ich die Standarddomain, die in der Konfiguration eingestellt ist.

Die htaccess muss dann nichts in der Richtung machen, da die Links auf der Website alle mit der Domain beginnen, mit der ist sie aufrufe. Ich weiß nicht, inwiefern sich das auf WP übertragen lässt, bei mir funktioniert's jedoch einwandfrei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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