![]() |
![]() |
|
|
|||||||
| Internet Rat & Tat bei Internetproblemen |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
hi @ll!
habe wiedermal ein problem: wie schon in der überschrift erwähnt, geht es um eine typo3 installation mir der extension realurl. das eigentliche problem betrifft aber ganz allgemein die apache htaccess konfiguration für mod_rewrite. ich habe eine typo3-installation mit mehreren (sub)domains. die erste seite ist unter domain.tld/cms zu erreichen, die zweite seite unter sub.domain.tld . hier tritt das problem auf: einmal ist typo3 unter / und einmal unter /cms zu erreichen. nun verlangt realurl ein rewrite, dies funktioniert aber entweder nur (korrekt) für die eine domain, oder nur für die subdomain. wie kann ich das korrigieren?? ich hätte mir <Location /> oder so vorgestellt, hat aber nicht funktioniert... bin für jeden tipp dankbar!!! hier einmal meine .htaccess: Code:
# Enable URL rewriting RewriteEngine On # WENN ICH HIER NUR "/" ANGEBE, FUNKTIONIERT ES FÜR DIE SUBDOMAIN RewriteBase /cms/ # Stop rewrite processing if we are in the typo3/ directory RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L] # Redirect http://mysite/typo3 to http://mysite/typo3/index_re.php # and stop the rewrite processing RewriteRule ^typo3$ typo3/index_re.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Main URL rewriting. RewriteRule .* index.php [L]
____________________________________
nobody is perfect |
|
|
|
|
|
#2 |
|
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
Ich nehm man an, daß Typo3 nur einmal installiert ist, und zwar unter domain.tld/cms/.
Wenn sub.domain.tld auf das selbe Verzeichnis zeigt wie domain.tld, probier mal: Code:
RewriteEngine on
#sub.domain.tld auf domain.tld/cms umleiten
RewriteCond %{HTTP_HOST} ^sub\.domain\.tld
RewriteRule ^/(.*) http://domain.tld/cms/$1 [R]
#das typo3 Verzeichnis nicht weiter umleiten
RewriteRule cms/typo3/$ - [L]
RewriteRule cms/typo3/.*$ - [L]
#Umleitung fuer RealUrl
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule domain.tld/cms/.* domain.tld/cms/index.php
Wenn sub.domain.tld auf ein anderes Verzeichniss zeigt als domain.tld ist es noch einfacher, dann sollte: Code:
RewriteEngine on RewriteRule ^/(.+) http://domain.tld/cms/$1 [R,L] Ich finde diese Seiten für mod_rewrite recht hilfreich: http://www.modrewrite.de/foren/ftopic82.html http://httpd.apache.org/docs/1.3/misc/rewriteguide.html jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
|
|
|
|
|
#3 |
|
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
hallo!
danke für die tipps. 1:1 (natürlich abgeändert auf meine domain ) haben deine tipps leider nicht funktioniert...aber ich werde mir jetzt einmal deine links durchsehen. bin ein absoluter noob beim rewriten aber was nicht ist kann ja noch werden! zu deiner frage: sowohl http://domain.tld/cms als auch http://sub.domain.tld zeigen auf das selbe physikalische verzeichnis, d.h. meiner meinung nach ändert sich im grunde wirklich nur die RewriteBase, wenn es so etwas wie if-bedingung gäbe, bräuchte ich nur die base umstellen =)
____________________________________
nobody is perfect |
|
|
|
|
|
#4 |
|
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
kann es sein, das rewritebase global gesehen wird?? sobald ich nämlich mehr als eine rewritebase verwenden will, wird die letzte genommen??
bei Code:
RewriteCond ... RewriteBase /cms/ RewriteRule ... RewriteCond ... RewriteBase / RewriteRule ... ![]()
____________________________________
nobody is perfect |
|
|
|
|
|
#5 |
|
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
In meiner Ursprünglichen Version ist ein / zuviel:
Code:
RewriteRule ^(.*) http://domain.tld/cms/$1 Code:
RewriteRule ^/(.*) http://domain.tld/cms/$1 In das gemeinsame Verzeichniss (also domain.tld/) folgende .htaccess: Code:
RewriteEngine on
#sub.domain.tld auf domain.tld/cms umleiten
RewriteCond %{HTTP_HOST} ^sub\.domain\.tld
RewriteRule ^(.*) http://domain.tld/cms/$1 [L]
Und ins /cms Verzeichniss die standard Realurl .htaccess. Falls du Zugriff auf die httpd.conf hast (wird wohl nur der Fall sein wenn dir der ganze Server gehört) kannst du RewriteLog aktivieren: In die httpd.conf Code:
RewriteLog "rewrite.log" RewriteLogLevel 3 jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
|
|
|
|
|
#6 |
|
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
hallo!
umleitung funktioniert, bringt aber leider ein anderes problem mit sich: typo3 erkennt jetzt meine korrekte seite nicht mehr, da ja der host jetzt von sub.domain.tld auf domain.tld geändert wurde, und zeigt mir demenstsprechend die falsche seite an (eben die von domain.tld). leider habe ich im moment nur mehr user-rechte und die log-funktion kann man ja leider nur in der httpd.conf aktivieren... ich kapier nicht ganz, was das mit der RewriteBase so arges auf sich hat... kann man die base nicht einfach in die conditions/rules mit einbauen?? dann kann ich eine allgemeingültige regel machen für domain.tld und eine für sub.domain.tld oder umgekehrt. danke, dass du dich so bemühst ![]() EDIT: so sollte es funktionieren: Code:
http://domain.tld/cms -> cms/index.php * http://sub.domain.tld -> index.php * http://domain.tld/cms/about/impressum.html -> cms/about/impressum.html -> cms/index.php http://sub.domain.tld/about/impressum.html -> about/impressum.html -> index.php
____________________________________
nobody is perfect |
|
|
|
|
|
#7 |
|
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
Das einfachste wäre es, wenn der vhost Eintrag in der httpd.conf fix auf /vollstaendiger/Pfad/cms zeigt.
Was du auch probieren kannst: im Verzeichniss auf das sub.domain.tld zeigt: Code:
RewriteEngine on
#sub.domain.tld auf sub.domain.tld/cms umleiten
RewriteCond %{HTTP_HOST} ^sub\.domain\.tld
RewriteRule ^(.*) /cms/$1
jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
|
|
|
|
|
#8 |
|
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
hmmm, da erhalte ich einen 500 error...
hab das probiert: Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.tld
RewriteRule .* index.php [L]
RewriteCond %{HTTP_HOST} ^domain\.tld
RewriteRule ^cms/.* cms/index.php [L]
ich glaube, ich hole mir mal wieder root-rechte
____________________________________
nobody is perfect |
|
|
|
|
|
#9 |
|
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
Was der 404er heißt findest du am besten über das Apache Error log heraus. Wenn du darauf keinen Zugriff hast solltest du mit deinem Admin schimpfen bzw. ihn darum bitten.
An sich sollten deine .htaccess funktionieren, bei mir tun sie es jedenfalls. Bist du sicher das du nicht irrtümlich www.domain.tld versucht hast? Damit man auch www. verwenden kann, kannst du folgendes machen: Code:
RewriteEngine on
#sub.domain.tld auf domain.tld/cms umleiten
RewriteCond %{HTTP_HOST} !^domain\.tld
RewriteCond %{HTTP_HOST} !^www\.domain\.tld
RewriteRule ^.* index.php [L]
RewriteCond %{HTTP_HOST} ^domain\.tld [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.tld
RewriteRule ^cms/.* cms/index.php [L]
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
|
|
|
|
|
#10 |
|
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
werde ich bei zeiten weiter ausprobieren... im moment habe ich jedoch w.o. gegeben, da es grad sehr stressig ist ;-)
trotzdem danke, wie gesagt - ich werde es auf jeden fall noch umstellen =)
____________________________________
nobody is perfect |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|