• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

XF2.0 Redirects alter VBSEO Anhänge

Nicht forum/attachments sondern /forum/attachments
 
Ja, ist klar.
Dann geht es natürlich. :cool:

Boah war das anstrengend. Ich danke dir vielmals.
Jetzt brauch ich trotzdem ne Woche Urlaub. :D
 
Also ich denke euch natürlich allen. Habe jetzt diese rule und die leitet geschmeidig weiter:
RewriteRule ^attachments/[^/]+/(\d+) /forum/attachments/$1 [L,R=301]

Jetzt habe ich aber noch ein Problemchen. Ich habe in knapp einer halben Million Beiträgen etwa 1500 Bildadressen die so aussehen:

forum/attachment.php?attachmentid=94405

Die werden normalerweise sauber weitergeleitet, aber in diesem Fall handelt es sich um Anhänge, die nicht mehr vorhanden sind.
Habt ihr eine Idee wie ich bei diesen 1500 Urls den 404 Fehler verhindern kann?

Weiterleiten scheint schlecht möglich und ein SQL Query kann ich wohl auch nicht einsetzen weil die id überall unterschiedlich ist.

Oder ist hier Handarbeit angesagt? Ich habe drei Kinder, wäre also möglich das zu delegieren. :cool:
 
Die werden normalerweise sauber weitergeleitet, aber in diesem Fall handelt es sich um Anhänge, die nicht mehr vorhanden sind.
Habt ihr eine Idee wie ich bei diesen 1500 Urls den 404 Fehler verhindern kann?
Entweder auf etwas vorhandenes umleiten, wobei mir aber gerade nicht einfällt auf was (vielleicht ein Bild das signalisiert "Anhang gelöscht"?) oder händisch löschen.
forum/attachment.php?attachmentid=94405
Das unterscheidet sich doch von den Bildadressen in XF2 und müsste sich der Datenbank finden lassen wenn man nach forum/attachment.php?attachmentid= sucht. Leider dauert das ein bisschen bis man die alle aus den Beiträgen in der Datenbank gelöscht hat.
 
Der Punkt ist, dass nur diese 1500 gelöscht/umgeleitet werden sollen. Die anderen Bilder, die noch vorhanden sind und umgeleitet werden, will ich nicht anfassen.
Das sieht wohl nach Handarbeit aus....
 
Zuletzt bearbeitet:
Ich habe die Daten bereits aus Xovi exportiert. Hatte auf eine Idee für einen Automatismus gehofft. Aber den kann es wohl nicht geben.
Danke euch.
 
So ihr Lieben,

nochmals vielen Dank für die Hilfe bei den Redirects. Da gab es noch eine Menge Handarbeit, aber damit (und einem vernünftigem Editor für die SQL-Querys) konnte ich in den letzten Tagen rund 2000 falsche Bildlinks korrigieren.

Jetzt habe ich noch eine Frage zu einem Redirect für Themenlinks, die nicht automatisch umgeleitet werden.

domain.de/forum/kategorien/kuechenplanung-im-planungs-board.63/9104-haecker-oder-nobilia-kueche.html

muss nach

domain.de/forum/themen/9104/

Die Umleitung funktioniert im moment über alte showthread Umleitungen:
RewriteRule [^/]+/([0-9]+)-[^/]+\.html domain.de/forum/showthread.php?t=$1' [L,R=301]

Allerdings findet dann ein doppelter Redirect statt, den ich gerne vermeiden möchte.

Das sind jetzt noch etwa 2500 Links und ich habe keinen Bock mehr auf Handarbeit.


Doppelter Redirect.JPG
 
Hast du mal versucht das R-Flag zu entfernen?
Theoretisch sollte es dann nur noch ein Redirect sein.
 
Auch dann findet eine doppelte Umleitung statt.

Die URL ist eine alte vBSEO URL und diese wird automatisch auf showthread.php umgeleitet. Von dort dann über das Redirect addon zur XF URL.

Eigentlich kann ich diesen Redirect abschalten weil das addon das mit den alten showthread urls übernimmt:
RewriteRule [^/]+/([0-9]+)-[^/]+\.html domain.de/forum/showthread.php?t=$1' [L,R=301]

Aber dann leiten die vBSEO Urls nicht mehr weiter.

Da in beiden die Thread-ID enthalten ist könnte ich das Problem mit einem direkten Redirect lösen.
 
Ich wiederhole meine Frage einfach mal da sie nicht wirklich beantwortet wurde ;)

Hast Du mal versucht das R-Flag der Rule zu entfernen?
Dann sollte ein Rewrite auf die showthread.php erfolgen wo das Redirect Add-on die Anfrage aufgreift und ein Redirect auf die finale URL oder eine Fehlermedlung auslöst.

So wie die Rule aktuell ist, d.h. mit R-Flag, erfolgt immer zuerst ein Redirect auf showthread.php.

Ein direktes Redirect zur finalen URL ist rein per RewriteRule nicht möglich, das muss über das Redirect Add-on geschehen.
 
Auch dann findet eine doppelte Umleitung statt.

Das war die Antwort auf die Frage.

Ich frage mich wie der Rewrite von vBSEO auf showthread passiert. Weil ich dafür keine Rule in der .htaccess habe. Oder macht das auch das 301-Addon? Dann hast du natürlich Recht.

Im Moment habe ich nur das hier in der .htaccess:
RewriteRule [^/]+/([0-9]+)-[^/]+\.html domain.de/forum/showthread.php?t=$1 [L]
RewriteRule [^/]+/([\d]+)-.+-([\d]+).html domain.de/forum/showthread.php?t=$1&page=$2 [NC,L]


Die normalen Showthread URLS werden auch weitergeleitet wenn ich das deaktiviere. Das macht wohl das 301-Addon.

Nur die vBSEO URLS
domain.de/forum/kategorien/kuechenplanung-im-planungs-board.63/9104-haecker-oder-nobilia-kueche.html

werden nur weitergeleitet wenn ich die oberen beiden Rules aktiviert haben. Als wenn sie quasi erst zu showthread und anschließend über die Rule zu den XF URLs weitergeleitet werden.

Ob das Flag jetzt [L] oder [L,R=301] ist scheint keinen Unterschied zu machen.

-------------------------EDIT

Ich sehe gerade, dass es doch einen Unterschied macht. Ohne das R Flag ist die erste Umleitung eine 302 statt 301
 
Die .htaccess befindet sich im gleichen Verzeichnis wie showthread.php ?
Falls ja sollte das Ziel nur showthread.php sein, also ohne /forum etc.
Falls nicht bitte genauer beschreiben was wo liegt.
 
Die .htaccess befindet sich wie das Forum selbst im Verzeichnis /forum/

Wenn ich das alles weglasse gibt es einen 404

Doppelter Redirect2.JPG
 
Jetzt bin ich verwirrt :)

Eine .htaccess in einem Unterverzeichnis kann normalerweise keine URLs übergeordneter Verzeichnisse umschreiben, denn die wird gar nicht erst angesprochen.

Ohne das genaue Setup zu kennen ist es echt schwierig dir da zu helfen.
Grundsätzlich: Du musst erreichen dass die Rule lediglich ein Rewrite macht und kein Redirect.
Dies erreicht man im Normalfall indem das Ziel der relative Pfad des Ziels ist und kein R-Flag angegeben ist.

Falls du Zugriff auf die Apache Konfiguration hast hilft es evtl. das logging Level zu erhöhen, dann sieht man anhand der Logs genau was geschieht.

mod_rewrite - Apache HTTP Server Version 2.4
 
Auf den Server habe ich keinen Zugriff. Das ist aber auch gut so, weil ich bei meinen Kenntnissen in Server Konfiguration wohl mehr down als online sein würde. :cool:

Ich habe allerdings das rewriteBase deaktiviert. Wenn ich da eingebe RewriteBase /forum habe ich mit anderen Umleitungen irgendwie Probleme.

Momentan ist es ja wenigstens so, dass umgeleitet wird - wenn auch doppelt. Aber die 404er sind weg. :good2:

Danke bis hierher - und fast hätte ich wieder den Stinkefinger Smilie erwischt. Evtl. können wir den für die Brillenträger ohne Brille etwas weniger performant in den Hintergrund stellen? Ist sowieso im Sinne des Community-Stresstests: Nette Smilies nach vorne und die anderen nach hinten. ;)
 
Ich versuche es nochmal :)

Poste doch bitte, falls möglich, mal:
  • Einen Screenshot (FTP-Client, etc.) der alle Inhalte des Stammverzeichnisses zeigt
  • Einen Screenshot (FTP-Client, etc.) der alle Inhalte des des Verzeichnisses forum zeigt
  • Die vollständige .htaccess
 
Ok, ich mag Typen die nie aufgeben :)

htaccess im Verzeichnis /forum
Code:
#        Mod_security can interfere with uploading of content such as attachments. If you
#        cannot attach files, remove the "#" from the lines below.
#<IfModule mod_security.c>
#        SecFilterEngine Off
#        SecFilterScanPOST Off
#</IfModule>

ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 405 default
ErrorDocument 406 default
ErrorDocument 500 default
ErrorDocument 501 default
ErrorDocument 503 default

RewriteEngine On

RewriteCond %{HTTPS} !=On [NC,OR]
RewriteCond %{HTTP_HOST} !=www.kuechen-forum.de [NC]
RewriteRule ^(.*)$ https://www.kuechen-forum.de/forum/$1 [R=301,L]

RewriteRule [^/]+/([0-9]+)-[^/]+\.html https://www.kuechen-forum.de/forum/showthread.php?t=$1 [L,R=301]
RewriteRule [^/]+/([\d]+)-.+-([\d]+).html https://www.kuechen-forum.de/forum/showthread.php?t=$1&page=$2 [NC,L]

#RewriteRule [^/]+/([0-9]+)-[^/]+\.html forum/showthread.php?t=$1 [L,R=301]
#RewriteRule [^/]+/([\d]+)-.+-([\d]+).html forum/showthread.php?t=$1&page=$2 [NC,L]


#RewriteBase /forum
#RewriteRule ^attachments/[^/]+/(\d+)d(\d+)-[^\.]+\.jpg$ attachments/$1 [L,R=301]
#RewriteRule ^attachments/[^/]+/(\d+) attachments/$1 [L,R=301]


#RewriteRule ^attachments/(.+)/([0-9]+)[d-](.+)$ attachment.php?attachmentid=$2 [L]
#RewriteRule ^attachments/(.+)/([0-9]+)[d-](.+)$ attachment.php?attachmentid=$1 [L]
#RewriteRule ^attachments/(.+)/(.+)_([0-9]+)\.([a-zA-Z0-9]+)$ attachment.php?attachmentid=$3 [L]
#RewriteRule ^attachments/[^/]+/(\d+) attachments/$1 [L,R=301]
RewriteRule ^attachments/[^/]+/(\d+) /forum/attachments/$1 [L,R=301]

RewriteRule ^mitglieder/([^/]+)-(\d+)\.html$ mitglieder/$1.$2/ [R=Permanent,L]

RewriteRule ^galerie/mitglieder/([^/]+)\.(\d+)/alben$ galerie/mitglieder/$1.$2/ [R=Permanent,L]
RewriteRule ^galerie/users/([^/]+)\.(\d+)/albums$ galerie/mitglieder/$1.$2/ [R=Permanent,L]

#RewriteRule [^/]+-album([0-9]+)-[^/]+\.html https://www.kuechen-forum.de/forum/album.php?albumid=$1 [L,R=301]
#RewriteCond %{QUERY_STRING} (^|\?)albumid=([0-9]+)($|&)
#RewriteRule ^album\.php$ /forum/galerie/alben/%2/? [R=301,L]

RewriteRule [^/]+-picture([0-9]+)-[^/]+\.html https://www.kuechen-forum.de/forum/picture.php?pictureid=$1 [L,R=301]
RewriteCond %{QUERY_STRING} pictureid=([0-9]+)($|&)
RewriteRule ^picture\.php$ /forum/galerie/%1/full? [R=301,L]

#RewriteCond %{QUERY_STRING} pictureid=([0-9]+)($|&)
#RewriteRule ^album\.php$ /forum/galerie/%1/full? [R=301,L]

htaccess im Stammverzeichnis (Ist ein Joomla)

Code:
## No directory listings
IndexIgnore *

## Can be commented out if causes errors, see notes above.
##Options +FollowSymlinks
##Options -Indexes

## Mod_rewrite in use.

RewriteEngine On

<FilesMatch "\.(php)$">
    <ifModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
    </ifModule>
</FilesMatch>

<FilesMatch "\.(gif|ico|jpeg|jpe|jpg|png|css|js)$">
<ifModule mod_headers.c>
Header set Cache-Control "max-age=604800, public"
</ifModule>
</FilesMatch>

RewriteCond %{HTTPS} !=On [NC,OR]
RewriteCond %{HTTP_HOST} !=www.kuechen-forum.de [NC]
RewriteRule ^(.*)$ https://www.kuechen-forum.de/$1 [R=301,L]

Redirect /vbulletin/ https://www.kuechen-forum.de/forum/
Redirect /forum/external.php https://www.kuechen-forum.de/forum/kategorien/-/index.rss

#################################################
##### 2. FILTERS                            #####
#################################################


########## Begin - Rewrite rules to block out some common exploits
# If the request query string contains /proc/self/environ (by SigSiu.net)
RewriteCond %{QUERY_STRING} proc/self/environ [OR]
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode or base64_decode data within the URL
RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\([^)]*\) [OR]
## IMPORTANT: If the above line throws an HTTP 500 error, replace it with these 2 lines:
# RewriteCond %{QUERY_STRING} base64_encode\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
########## End - Rewrite rules to block out some common exploits


## Begin - Custom redirects

## End - Custom redirects

#################################################
##### 5. SPAM Filter                                            #####
#################################################

########## Begin - Basic antispam Filter, by SigSiu.net
RewriteCond %{QUERY_STRING} \b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b [NC,OR]
RewriteCond %{QUERY_STRING} \b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b [NC,OR]
RewriteCond %{QUERY_STRING} \b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b [NC,OR]
RewriteCond %{QUERY_STRING} \b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b [NC]
RewriteRule .* - [F]
########## End - Basic antispam Filter, by SigSiu.net

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.

Und hier die Screenshots der Dateien im Stammverzeichnis und im Unterordner /forum
 

Anhänge

  • Stammverzeichnis.JPG
    Stammverzeichnis.JPG
    131,5 KB · Aufrufe: 2
  • Stammverzeichnis_Forum.JPG
    Stammverzeichnis_Forum.JPG
    76,8 KB · Aufrufe: 2
Faszinierend :)

Du bist dir sicher dass die Standard XF2 Rewrite Rules
Code:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

nirgends vorhanden sind?
 
Sorry sind sie.

Ich habe dazwischen noch andere Redirects eingefügt und die kommen danach. Hier der zweite Teil:
Die Forumdisplay redirects sind erforderlich weil ich unter VBSEO in den Foren keine Id abgespeichert hatte.

Code:
Redirect 301 /forum/neuigkeiten/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=53
Redirect 301 /forum/vorlagen/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=114
Redirect 301 /forum/umfrageergebnisse/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=135
Redirect 301 /forum/events/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=99
Redirect 301 /forum/kuechenkauf-nach-meterpreis-kuechenstudios/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=158
Redirect 301 /forum/neff-in-bretten/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=163
Redirect 301 /forum/qualitaetsmerkmale-kuechenhersteller/ https://www.kuechen-forum.de/qualitaetsmerkmale-kuechenhersteller/
Redirect 301 /forum/teilaspekte-zur-kuechenplanung/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=52
Redirect 301 /forum/einbaugeraete/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=122
Redirect 301 /forum/dunstabzugshauben-und-lueftungstechnik/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=157
Redirect 301 /forum/kuechenmoebel/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=123
Redirect 301 /forum/spuelen-und-zubehoer/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=124
Redirect 301 /forum/kuechen-ambiente/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=77
Redirect 301 /forum/kuechenplanung-im-planungs-board/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=63
Redirect 301 /forum/planungshilfen/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=106
Redirect 301 /forum/tipps-und-tricks/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=101
Redirect 301 /forum/reinigung/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=102
Redirect 301 /forum/do-it-yourself/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=103
Redirect 301 /forum/kueche-und-recht/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=104
Redirect 301 /forum/maengel-und-loesungen/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=55
Redirect 301 /forum/maengel-und-loesungen https://www.kuechen-forum.de/forum/forumdisplay.php?f=55
Redirect 301 /forum/montagefehler/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=154
Redirect 301 /forum/planungsfehler/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=155
Redirect 301 /forum/herstellerfehler/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=156
Redirect 301 /forum/feedback-zum-forum/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=59
Redirect 301 /forum/jobs-karriere-und-co/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=66
Redirect 301 /forum/montage-details/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=60
Redirect 301 /forum/tipps-und-tricks-zur-kuechenmontage/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=61
Redirect 301 /forum/haustechnik/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=92
Redirect 301 /forum/elektro/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=93
Redirect 301 /forum/sanitaer/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=94
Redirect 301 /forum/lueftung/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=95
Redirect 301 /forum/heizung/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=96
Redirect 301 /forum/off-topic-board/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=65
Redirect 301 /forum/kategorien/qualitaetsmerkmale-kuechenhersteller.74/ https://www.kuechen-forum.de/qualitaetsmerkmale-kuechenhersteller/
Redirect 301 /forum/forums/74/ https://www.kuechen-forum.de/qualitaetsmerkmale-kuechenhersteller/
Redirect 301 /forum/planungs-board/ https://www.kuechen-forum.de/forum/forumdisplay.php?f=63



        #        If you are having problems with the rewrite rules, remove the "#" from the
        #        line that begins "RewriteBase" below. You will also have to change the path
        #        of the rewrite to reflect the path to your XenForo installation.
        #RewriteBase /forum

        #        This line may be needed to enable WebDAV editing with PHP as a CGI.
        #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

        RewriteCond %{REQUEST_FILENAME} -f [OR]
        RewriteCond %{REQUEST_FILENAME} -l [OR]
        RewriteCond %{REQUEST_FILENAME} -d
        RewriteRule ^.*$ - [NC,L]
        RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
        RewriteRule ^.*$ index.php [NC,L]
 
Zurück
Oben