Seite 1 von 1

Problem mit der .htaccess - wer hilft?

Verfasst: 13.04.2008, 10:06
von Bluetabby
Hallo,

ich habe bei meiner privaten domain ein Problem mit der .htaccess.

Ich würde gerne das www erzwingen, also bei Eingabe des Besuchers von https://xxx.com automatisch auf https://www.xxx.com umleiten.

Zur Zeit läuft meine .htaccess einwandfrei, sie verhindert hotlinking, bestimmt eine 404 und ein paar redirects:

Code: Alles auswählen

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?xxx.com/.*$ [NC]
RewriteRule \.(gif|jpg|ra|mid|js|mov|avi|zip|css)$ - [F]
ErrorDocument 404 /notfound.html

redirect 301 /blabla/srv.html http://www.xxx.com/blabla/blubb.html

u.s.w.


Sobald ich aber das hier drübersetze, gibt es Ärger - dann wird die Domain nicht mehr gefunden:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxx\.com
RewriteRule (.*) http://www.xxx.com/$1 [R=301,L]

Irgendwie beißt sich dieser code mit dem Anti-hotlinking-code von oben - jedes für sich funktioniert, zusammen aber nicht. Da heißt es stets nur 'www.xxx.com' cannot be found... :evil:

Es ist vermutlich nur ein dummer Syntax-Fehler, den ich als technisch unbegabter Programmierphobiker nicht erkennen kann.

Wer kann mir helfen, das richtig zusammenzuschreiben??

Bluetabby

Verfasst:
von

Verfasst: 13.04.2008, 10:42
von stalkerX
Und ohne den Anti-hotlinking-code funktioniert? Vielleicht RewriteEngine On aus dem zweiten Code-Schnipsel rausnehmen?

Verfasst: 13.04.2008, 10:57
von chris21

Code: Alles auswählen

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www.example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.example.com/.*$ [NC]
RewriteRule \.(gif|jpg|ra|mid|js|mov|avi|zip|css)$ - [F]
ErrorDocument 404 /notfound.html

redirect 301 /blabla/srv.html http://www.example.com/blabla/blubb.html 
Falls es da noch Probleme geben sollte, kannst Du noch versuchen, in den RewriteConds die www.example.com durch www\.example\.com zu ersetzen.

Edit: Achso, für obigen Code wird angenommen, dass Du keine weiteren Subdomains verwendest. Ansonsten nochmal melden.

Verfasst: 13.04.2008, 11:27
von Bluetabby
Wow, klasse - es funktioniert!!! :D

Tausend Dank!


.. aber...
chris21 hat geschrieben: Edit: Achso, für obigen Code wird angenommen, dass Du keine weiteren Subdomains verwendest. Ansonsten nochmal melden.
Es gibt schon zwei subdomains.. die liegen aber nicht mit in den httpdocs, sondern eine Ebene höher...

Macht das was?

Bluetabby

Verfasst: 13.04.2008, 11:44
von Bluetabby
Habe nachgeschaut - die subdomains scheinen nicht beeinflußt. Sie liegen auch außerhalb der Reichweite dieser .htaccess

So wie's aussieht, war es wohl wirklich das doppelte 'RewriteEngine on' - dabei bin ich sicher, daß ich es ausprobiert hatte, eines wegzulassen.. Vielleicht war's aber auch der backslash vor dem .com..
Und ich seh gerade, in meinem Schnipsel fehlte ein www..

Auf jeden Fall bin ich froh, daß das jetzt funktioniert!

Vielen Dank nochmal!

Bluetabby