Seite 30 von 32

Verfasst: 29.06.2011, 13:00
von BastyRee
Hey,

ich möchte eine simple Weiterleitung auf das Unterverzeichnis /blog.

Code: Alles auswählen

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.bla\.de$
RewriteRule ^(.*)$ http://www.bla.de/blog/$1 [L,R=301]
Soweit richtig?

Gut. Leider wendet er die Regel nur an, wenn ich

https://bla.de
eingebe, aber nicht bei
https://www.bla.de

Woran kann das liegen?

Es fehlen bestimmt nur wenige Zeichen...

Danke!

Verfasst:
von

Verfasst: 29.06.2011, 13:19
von Synonym
Es fehlen bestimmt nur wenige Zeichen...
Nö, es sind (wenn schon) zu viele

!^www\.bla\.de$

-> Wenn nicht "www". Daher tut er genau das, was Du geschrieben hast.

Im Prinzip hat es auch mit der Standard-Domain nichts zu tun, also mit dem HTTP_HOST.

Wenn schon, dann alles was in der REQUEST_URI nicht /blog/ ist, nach /blog/ weiterleiten.

Verfasst: 29.06.2011, 15:22
von BastyRee
Okay, ich verstehe die Bedingung. Nur leider nicht, wie ich das Problem löse.

Wie sähe die gewünsche Zeile ungefähr aus?

Verfasst: 29.06.2011, 16:28
von Synonym
Hm, steht doch eigentlich schon alles da....

RewriteCond %{REQUEST_URI} !^/blog/
RewriteRule ^(.*)$ /blog/$1 [L,R=301]

Wenn nicht /blog/ (Cond), dann alles weiterleiten nach /blog/** (Rule)

** ungetestet **

Verfasst: 29.06.2011, 17:16
von BastyRee
Danke mein Herzchen! =)

Verfasst: 29.12.2011, 13:22
von Jeaneette
Hallo zusammen

kann mir mal jemand helfen?
Ich bekomme es nicht hin.
Ich fürchte eine andere Regel beeinflusst es.
Wenn ich den Code eingebe läd es die Seite nicht mehr.
Wäre schön wenn mir kurz jemand zur Hand gehen würde und 20 Sek für mich erübriegen könnte.
Danke vielmals und ein schönes neues Jahr

Code: Alles auswählen

<IfModule mod_rewrite.c>

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %&#123;REQUEST_URI&#125; oxseo\.php$
RewriteCond %&#123;QUERY_STRING&#125; mod_rewrite_module_is=off
RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on &#91;L&#93;

RewriteCond %&#123;REQUEST_URI&#125; !&#40;\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/&#41;
RewriteCond %&#123;REQUEST_FILENAME&#125; !-f
RewriteCond %&#123;REQUEST_FILENAME&#125; !-d
RewriteRule !&#40;\.html|\/|\.jpg|\.css|\.pdf|\.doc|\.gif|\.png|\.js&#41;$ %&#123;REQUEST_URI&#125;/ &#91;R=301,L&#93;

RewriteCond %&#123;REQUEST_URI&#125; !&#40;\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/&#41;
RewriteCond %&#123;REQUEST_FILENAME&#125; !-f
RewriteCond %&#123;REQUEST_FILENAME&#125; !-d
RewriteRule &#40;\.html|\/&#41;$ oxseo.php


</IfModule>

# disabling log file access from outside
<FilesMatch "&#40;EXCEPTION_LOG\.txt|\.log$|\.tpl$|pkg.rev&#41;">
order allow,deny
deny from all
</FilesMatch>

Options -Indexes
DirectoryIndex index.php index.html


Verfasst: 29.12.2011, 14:14
von Melegrian
Jeaneette hat geschrieben: Wäre schön wenn mir kurz jemand zur Hand gehen würde und 20 Sek für mich erübriegen könnte.
20 Sek sind gut, alles was ich in 60 Sekunden dazu gefunden habe, dass es sich um eine htaccess von irgendeinem OXID Shop handelt und wenn Du den in einem Verzeichnis installiert hast, dass Du dieses Verzeichnis dann auch bei RewriteBase angeben musst. Falls es sich nicht so verhält, kann ich Dir leider nicht weiter helfen. Notfalls müsstest Du dann in 120 Sekunden die wichtigsten Regeln für die htaccess selbst erlernen.

Code: Alles auswählen

#Options +FollowSymLinks
RewriteEngine On
RewriteBase /verzeichnis/

Verfasst: 29.12.2011, 16:10
von Jeaneette
würde ich aber dieses coden liegt mir leider eher garnicht:)
ich habe gedacht ihr seht bestimmt gleich warum das nicht geht wenn ich den anfangs erwähnte code einfüge. :(

Verfasst: 29.12.2011, 16:36
von chris21
Dürfte nur daran liegen, an welcher Stelle Du den Code zur Definition der Standarddomain einfügst.

Hier mal ein Beispiel mit www.example.com als Domain:

Code: Alles auswählen

<IfModule mod_rewrite.c>

Options +FollowSymLinks
RewriteEngine On
RewriteCond %&#123;HTTP_HOST&#125; !^www\.example\.com$
RewriteRule ^&#40;.*&#41;$ http&#58;//www.example.com/$1 &#91;R=301,L&#93;

RewriteBase /

RewriteCond %&#123;REQUEST_URI&#125; oxseo\.php$
RewriteCond %&#123;QUERY_STRING&#125; mod_rewrite_module_is=off
RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on &#91;L&#93;

RewriteCond %&#123;REQUEST_URI&#125; !&#40;\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/&#41;
RewriteCond %&#123;REQUEST_FILENAME&#125; !-f
RewriteCond %&#123;REQUEST_FILENAME&#125; !-d
RewriteRule !&#40;\.html|\/|\.jpg|\.css|\.pdf|\.doc|\.gif|\.png|\.js&#41;$ %&#123;REQUEST_URI&#125;/ &#91;R=301,L&#93;

RewriteCond %&#123;REQUEST_URI&#125; !&#40;\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/&#41;
RewriteCond %&#123;REQUEST_FILENAME&#125; !-f
RewriteCond %&#123;REQUEST_FILENAME&#125; !-d
RewriteRule &#40;\.html|\/&#41;$ oxseo.php


</IfModule>

# disabling log file access from outside
<FilesMatch "&#40;EXCEPTION_LOG\.txt|\.log$|\.tpl$|pkg.rev&#41;">
order allow,deny
deny from all
</FilesMatch>

Options -Indexes
DirectoryIndex index.php index.html

Verfasst: 29.12.2011, 17:28
von Jeaneette
Wer ist der besteeee? :)
Das wars :)
Danke !!!!

Verfasst: 10.04.2012, 15:57
von ashtray
Hallo zusammen.

Da hier nun schon alles voll ist auch noch meine Frage:

Ich möchte zum einem von tradika.de auf www.tradika.de umleiten. Hierzu habe ich mir den Text von diesem Thema kopiert:

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.tradika\.de$
RewriteRule ^(.*)$ https://www.tradika.de/$1 [L,R=301]

Damit funktioniert es aber nicht. Es kommt ein 403 Forbidden.Fehler, sobald ich die Datei hochlade.

Kann mir hier jemand helfen?

Nebenbei möchte ich auch noch von uebersetzung-karlsruhe.de auf www.tradika.de umleiten. Könntet Ihr mir hierzu einen Tipp geben?

Tausend Dank im Voraus (so ein **** Thema :))

Verfasst: 10.04.2012, 16:22
von chris21
Probier mal:

Code: Alles auswählen

RewriteEngine on
Options +FollowSymlinks
RewriteCond %&#123;HTTP_HOST&#125; !^www\.tradika\.de$
RewriteRule ^&#40;.*&#41;$ http&#58;//www.tradika.de/$1 &#91;L,R=301&#93; 
Falls das nicht hilft, brauchen wir Deinen Apache Error Log zum 403 Fehler.

Für die andere Domain uebersetzungen-...de musst Du einfach den gleichen Code in das Homeverzeichnis legen. Dann wird sie auch auf www.tradika.de umgeleitet.

Verfasst: 10.04.2012, 16:30
von ashtray
Hi chris21, danke für deine Info.

Ich habe deinen Text getestet. Nun kommt folgende Fehlermeldung:

"Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log."

PS: uebersetzungen-...de hat das gleiche Homeverzeichnis wie tradika.de Wie gehe ich in diesem Fall vor?

Verfasst: 10.04.2012, 16:34
von chris21
Wenn die das gleiche Homeverzeichnis haben, brauchst Du den Code da nur einmal hinterlegen.

Sobald wir es zum laufen gebracht haben, läuft es dann für beide.

Der Internal Server Error (Error 500) deutet darauf hin, dass Du die Options nicht überschreiben darfst.

Allgemein deutet der 403 und der 500 Error darauf hin, dass Dein Hoster mod_rewrite nicht vernünftig unterstützt - aufgrund ungewöhnlicher, schlechter bzw. besonders restriktiver Serverkonfiguration.

D.h.: Du solltest damit der Server Provider konsultieren.

Oder den Apache Error Log posten, sofern Du überhaupt Zugriff auf diesen hast.

PS: das könnte helfen:

https://alfahosting.de/antworten-auf-ih ... &id=92#a92

Weiß nicht, ob Mod_rewrite bei Dir überhaupt bereits aktiv ist.

PPS:

Siehe mal hier: es könnte auch einfach an Deiner Konfiguration bei Alfahosting liegen, hier hatten wir so ein Problem schon einmal:

https://www.abakus-internet-marketing.d ... modrewrite

Verfasst: 10.04.2012, 16:47
von chris21
Nochmal zum Probieren mit den Infos aus dem anderen Thread:

Code: Alles auswählen

RewriteEngine on
Options +SymLinksIfOwnerMatch
RewriteCond %&#123;HTTP_HOST&#125; !^www\.tradika\.de$
RewriteRule ^&#40;.*&#41;$ http&#58;//www.tradika.de/$1 &#91;L,R=301&#93;