|
|||
htaccess redirect/rewrite
Hallo zusmamen,
ich habe gerade eine etwas größere Umstellung einer Webpräsenz hinter mir und frage mich nun, wie ich den Bots die Veränderungen am nachhaltigsten mitteilen kann. Ich habe versucht mit in o.g. Thematik einzulesen aber irgendwie... Ausgangssituation war wie folgt: Es gab eine Subdomain mit einer veralteten Software, in die zusätzlich ein Forum (diese liegt im Ordner /forum/) eingebunden war. Nachdem die Software nun größte Lücken aufwies, ist die Entscheidung gefallen alles zu entfernen, außer eben dem Forum. Wie muss nun der Eintrag in der htaccess aussehen, damit die Bots nicht weiter Inhalte der alten Software versuchen zu erfassen. Das Forum soll aber weiterhin voll indexiert werden. Bisher ist ein Rewrite drin, der alle Anfragen auf /forum/ umleitet Code:
RewriteEngine on RewriteCond %{REQUEST_URI} !forum RewriteRule (.*) /forum/$1 [R,L] Das macht IMO keinen Sinn, weil es die ja nicht immer gibt. Gibt es eine Möglichkeit alles was ohne /forum/ aufgerufen wird als Redirect gone zu werten und anschl. auf /forum/index.php weiterzuleiten? Wie muss das Szenario aussehen und macht es überhaupt Sinn? Vielen Dank für eure Mühe.
__________________
Gruß Chrunchy "Eine Theorie ist eine Vermutung mit Hochschulbildung" (James Earl Carter) |
Sponsored Links |
|
|||
Hi Chrunchy
ich bin zwar auch kein ModReWrite Spezialist, jedoch denke ich das der RewriteCond falsch ist. Auf jeden falls kannst du die Anfragen auf die index-Datei des Forums umleiten in dem du nicht die Parameter übernimmst, sondern direkt die index-Datei angibst. Code:
RewriteRule (.*) /forum/index.php [R,L] Webcoder |
Sponsored Links |
|
|||
Hallo,
in erster Linie geht es mir darum, wie ich den Bots, und das sind einige, beibringe, dass alle Inhalte außerhalb des Ordners /forum dauerhaft weg sind. Eigentlich dachte ich an ein Redirect gone auf die index-datei vom Forum. Wie aber mache ich das, das es eben für alle Aufrufe außerhalb des folders /forum greift? Hoffe es ist verständlich wo mein Problem liegt.
__________________
Gruß Chrunchy "Eine Theorie ist eine Vermutung mit Hochschulbildung" (James Earl Carter) |
|
|||
Zitat:
Also mit dem RewriteCond wird eine Ausnahme definiert. Somit greift das RewriteRule nur wenn die Ausnahme nicht zutrifft. Ich denke jedoch, dass dein RewriteCond falsch ist, meiner Auffassung nach müsste es so aussehen: Code:
RewriteCond %{REQUEST_URI} !^/forum/.*$ |
|
|||
Hm,
so ganz will es noch nicht. Ich schaffe es einfach nicht einen 410 auszugeben UND eine Weiterleitung auf /forum/index.php. Auch will es noch nicht klappen, alle Anfragen die nicht im unterpfad forum liegen umzuleiten. Geht das vielleicht doch nicht so einfach?
__________________
Gruß Chrunchy "Eine Theorie ist eine Vermutung mit Hochschulbildung" (James Earl Carter) |
|
|||
Hallo Praktikant,
habe es gerade getestet. Nun sehe ich eine 410 Fehlerseite wenn ich eine nicht existente Seite außerhalb von /forum/ aufrufe. Eine Weiterleitung erfolgt also nicht. Sehr komisch das alles.
__________________
Gruß Chrunchy "Eine Theorie ist eine Vermutung mit Hochschulbildung" (James Earl Carter) |
|
||||
Jo, das habe ich jetzt auch festgestellt. Es gäbe noch die Möglichkeit eine Fehlerseite anzupassen, die kommt wenn 410 kommt. Dann könnten Benutzer da mit dem Link weiter gehen und die SuMas wüssten, dass es die Rescource nicht mehr gibt
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade! |
|
|||
Genau so hatte ich es kurz vor deinem Posting umgesetzt, nachdem ich versteckt den Hinweis gefunden habe, dass man bei 410 besser keine Weiterleitung nutzen sollte.
Danke euch beiden für die Infos und Hinweise. Nur falls die Lösung noch jemanden interessiert: Code:
RewriteCond %{REQUEST_URI} !^/forum/.*$ RewriteRule ^(.*) /forum/index.php [R=410,L] ErrorDocument 410 http://domain.tld/forum/fehler.html
__________________
Gruß Chrunchy "Eine Theorie ist eine Vermutung mit Hochschulbildung" (James Earl Carter) |
Sponsored Links |
|
||||
Und das funktioniert so? Der Client wird doch IMHO sofort auf das Forum weitergeschmissen, ohne das Error-Document zu gesicht zu bekommen, oder irre ich mich da?
Für solche sachen kann man auch mod alias verwenden: mod_alias - Apache HTTP Server Code:
RedirectMatch gone !^forum/.* [ungetestet] |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Problem mit htaccess | till.kaufmann | Serveradministration und serverseitige Scripte | 1 | 23.02.2011 12:46 |
wieder mal: htaccess | express | Serveradministration und serverseitige Scripte | 21 | 13.10.2009 20:32 |
htaccess befehle aus dem root in einem verzeichniss ausschlissen | The Sayan | Serveradministration und serverseitige Scripte | 2 | 06.08.2006 19:33 |
Startseite in der htaccess festlegen | Philippp | Serveradministration und serverseitige Scripte | 10 | 31.03.2005 12:05 |