WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Internet

Internet Rat & Tat bei Internetproblemen

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 07.06.2006, 20:43   #1
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Frage Typo3 RealUrl, Apache htaccess mod_rewrite - Problem

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]
danke!! ;-)
____________________________________
nobody is perfect
void ist offline   Mit Zitat antworten
Alt 07.06.2006, 22:30   #2
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

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
(hab's nicht getestet, könnte aber klappen).

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]
reichen.

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)
jak ist offline   Mit Zitat antworten
Alt 08.06.2006, 12:08   #3
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Ausrufezeichen danke

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
void ist offline   Mit Zitat antworten
Alt 08.06.2006, 12:58   #4
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Standard rewritebase

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 ...
wird also auch bei der ersten rule "/" genommen
____________________________________
nobody is perfect
void ist offline   Mit Zitat antworten
Alt 08.06.2006, 14:44   #5
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

In meiner Ursprünglichen Version ist ein / zuviel:
Code:
RewriteRule ^(.*) http://domain.tld/cms/$1
statt
Code:
RewriteRule ^/(.*) http://domain.tld/cms/$1
Andere Idee:
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]
Dann mal probieren ob damit korrekt von sub.domain.tld auf domain.tld/cms umgeleitet wird - wenn nicht ins apache error log schauen ob ein Fehler ausgegeben wird.

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
eintragen.

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)
jak ist offline   Mit Zitat antworten
Alt 08.06.2006, 16:23   #6
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Standard

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
* das funktioniert auch... und je nach RewriteBase funktionieren auch die "unterkategorien"
____________________________________
nobody is perfect
void ist offline   Mit Zitat antworten
Alt 09.06.2006, 14:07   #7
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

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
vielleicht funktioniert es ja damit.

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)
jak ist offline   Mit Zitat antworten
Alt 09.06.2006, 15:34   #8
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Standard

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]
hat soweit funktioniert, erhalte aber beim aufruf von http://domain.tld/cms/impressum.html einen 404 error -> was kann ich daraus schließen? das er index.php nicht findet?!?

ich glaube, ich hole mir mal wieder root-rechte
____________________________________
nobody is perfect
void ist offline   Mit Zitat antworten
Alt 15.06.2006, 20:34   #9
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

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]
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)
jak ist offline   Mit Zitat antworten
Alt 15.06.2006, 23:30   #10
void
Hero
 
Benutzerbild von void
 
Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811


Standard

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
void ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:36 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag