Benötige Hilfe bei der Linkumschreibung

  • Betroffene Version
    WoltLab Suite 5.3

    Hallo Forum,

    ich habe mein Forum neu installiert. Zuvor lag es im Verzeichnis /forum und nun unter /ppf. Alle Links auf das alte Forum laufen nun ins Leere und ich bekomme es einfach nicht hin, diese korrekt umzuleiten. :( Nach dieser Anleitung (https://manual.woltlab.com/de/migration-url-rewrites/) habe ich es versucht, aber so klappt es nicht.

    Hier mal ein Beispiel für einen alten Link: https://www.paules-pc-forum.de/forum/thread/177566-wann-sollte-man-sich-eine-neue-externe-festplatte-zulegen/

    Ich habe eine Weiterleitung in der .htaccess, die alle Aufrufe zu meineseite.de/forum/ nach meineseite.de/ppf weiterleitet.

    Im alten Forum hatte ich die interne Linkumschreibung aktiviert. Im neuen Forum geht das nicht, da mit angezeigt wird, dass die Rewrite-Unterstützung des Webservers fehlt oder nicht korrekt konfiguriert wurde. Die Unterstützung ist aber vorhanden. Auch der Versuch die Einträge:

    RewriteCond %{SCRIPT_FILENAME} !-d

    RewriteCond %{SCRIPT_FILENAME} !-f

    RewriteRule ^(.*)$ index.php?$1 [L,QSA]

    in die .htaccess im Forenvereichnis und im Verzeichnis der Suite zu platzieren, bringt keinen Erfolg.

    Aktuell sieht meine .htaccess wie folgt aus. ich vermute mal, dass da inzwischen auch das eine oder andere dabei ist, dass wieder raus könnte. (Die eigentlich schon ausgekalmmerten Bereiche habe ich bewusst mal noch drin gelassen.) Zuletzt hat sich die Andrea Berg hier aus dem Team die Datei angeschaut und ein paar Sachen optimiert. Ist aber schon ein paar Jahre her und fragen kann ich sie ja leider nicht mehr. :(

    Spoiler anzeigen

    Options +FollowSymlinks

    #

    # CACHING

    #

    <IfModule mod_expires.c>

    # ONE WEEK

    <FilesMatch "\.(jpg|jpeg|png|gif|ico|swf)$">

    ExpiresActive on

    ExpiresDefault A604800

    Header set Cache-Control "public"

    </FilesMatch>

    # ONE WEEK

    <FilesMatch "\.(css|js)$">

    ExpiresActive on

    ExpiresDefault A604800

    Header set Cache-Control "must-revalidate"

    </FilesMatch>

    </IfModule>

    #USE E-TAGS. TURN OFF IF USING MORE THEN ONE SERVER

    FileETag MTime Size

    #

    # COMPRESSION

    #

    # Compress some text file types

    <IfModule mod_deflate.c>

    AddOutputFilterByType DEFLATE text/html text/css text/xml application/x-javascript application/x-httpd-php

    </IfModule>

    # Deactivate compression for buggy browsers

    BrowserMatch ^Mozilla/4 gzip-only-text/html

    BrowserMatch ^Mozilla/4\.0[678] no-gzip

    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    # Set header information for proxies

    Header append Vary User-Agent

    #

    # END - CACHING

    #

    # http to https

    #RewriteEngine On

    #RewriteBase /

    RewriteCond %{SERVER_PORT} !^443$

    RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

    #

    #

    #Turn on Rewrite engine

    RewriteEngine On

    RewriteBase /

    ErrorDocument 404 /fehler.htm

    # UMLEITUNGEN

    Redirect /forum https://www.paules-pc-forum.de/ppf/

    Redirect /forum/ https://www.paules-pc-forum.de/ppf/

    RedirectMatch permanent ^/$ https://www.paules-pc-forum.de/cms/

    # VBULLETIN TO WBB4

    # RewriteCond %{REQUEST_URI} ^/forum/(?!board/)(.*)/([0-9]+)-(.*)\.html$ [NC]

    # RewriteRule ^forum/(?!board/)(.*)\/([0-9]+)-(.*)\.html$ https://www.paules-pc-forum.de/forum/index.php?thread/$2 [L,R=301]

    # WBB 3 TO WBB 4

    # RewriteRule ^ppf/(.*)$ https://www.paules-pc-forum.de/forum/$1 [L,R=301]

    # WBB4 RULES

    # RewriteRule ^user/([0-9]+)-([^/\.]*)/?$ index.php?user/$1-$2/ [R=301,QSA,L]

    # RewriteRule ^forum/(board[0-9]+-[^/\.]+/)*board([0-9]+)-([^/\.]+)/([0-9]+)-([^/\.]*)/last-post\.html$ forum/index.php?thread/$4-$5/&action=lastPost [R=301,QSA,L]

    # RewriteRule ^forum/(board[0-9]+-[^/\.]+/)*board([0-9]+)-([^/\.]+)/([0-9]+)-([^/\.]*)/first-new-post\.html$ forum/index.php?thread/$4-$5/&action=firstNew [R=301,QSA,L]

    # RewriteRule ^forum/(board[0-9]+-[^/\.]+/)*board([0-9]+)-([^/\.]+)/p([0-9]+)-([^/\.]*)/?$ forum/index.php?thread/&postID=$4#post$4 [R=301,QSA,L]

    # RewriteRule ^forum/(board[0-9]+-[^/\.]+/)*board([0-9]+)-([^/\.]+)/([0-9]+)-([^/\.]*)/index([0-9]+)\.html$ forum/index.php?thread/$4-$5/&pageNo=$6 [R=301,QSA,L]

    # RewriteRule ^forum/(board[0-9]+-[^/\.]+/)*board([0-9]+)-([^/\.]+)/([0-9]+)-([^/\.]*)/?$ forum/index.php?thread/$4-$5/ [R=301,QSA,L]

    # RewriteRule ^forum/(board[0-9]+-[^/\.]+/)*board([0-9]+)-([^/\.]+)/index([0-9]+)\.html$ forum/index.php?board/$2-$3/&pageNo=$4 [R=301,QSA,L]

    # RewriteRule ^forum/(board[0-9]+-[^/\.]+/)*board([0-9]+)-([^/\.]+)/?$ forum/index.php?board/$2/ [R=301,QSA,L]

    SetEnvIfNoCase User-Agent slurp spambot=1

    <Limit GET POST PUT>

    Order allow,deny

    deny from env=spambot

    deny from 159.138.

    allow from all

    </Limit>

    # prevent access from santy webworm

    RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR]

    RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR]

    RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR]

    RewriteCond %{QUERY_STRING} ^(.*)wget\%20

    RewriteRule ^.*$ http://127.0.0.1/ [R,L]

    # prevent pre php 4.3.10 bug

    #RewriteCond %{HTTP_COOKIE}% s:(.*):\%22test1\%22\%3b

    #RewriteRule ^.*$ http://127.0.0.1/ [R,L]

    # prevent perl user agent (most often used by santy)

    RewriteCond %{HTTP_USER_AGENT} ^lwp.* [NC]

    RewriteRule ^.*$ http://127.0.0.1/ [R,L]

    ########## Begin - Rewrite rules to block out some common exploits

    #

    # 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 crap to send via URL

    #RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]

    # Block out any script that includes a <script> tag in URL

    #RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%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})

    # Send all blocked request to homepage with 403 Forbidden error!

    #RewriteRule ^(.*)$ index.php [F,L]

    #

    ########## End - Rewrite rules to block out some common exploits

    RewriteEngine On

    RewriteCond %{HTTP_USER_AGENT} ^SEOkicks [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^SEOkicks-Robot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^sistrix [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^MajesticSEO [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^BacklinkCrawler [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^xovi [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^XoviBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^MJ12bot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^spbot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^search17 [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^AhrefsBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^ia_archiver [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^TurnitinBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^SlySearch [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^findlinks [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^magpie-crawler [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Pixray-Seeker [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^008 [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Ezooms [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^lb-spider [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^WBSearchBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^psbot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^HuaweiSymantecSpider [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^EC2LinkFinder [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^htdig [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^SemrushBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^discobot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^linkdex.com [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^SeznamBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^EdisterBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^SWEBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^picmole [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Yeti [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Yeti-Mobile [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^PagePeeker [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^CatchBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^yacybot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^netEstateNECrawler [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^SurveyBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^COMODOSSLChecker [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Comodo-Certificates-Spider [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^gonzo [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^schrein [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^AfiliasWebMiningTool [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^suggybot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^bdbrandprotect [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^BPImageWalker [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Updownerbot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^lex [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^ContentCrawler [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^DCPbot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^KaloogaBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^MLBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^iCjobs [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^oBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^WebmasterCoffee [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Qualidator [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Webinator [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Scooter [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^thunderstone [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^larbin [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^OpidooBOT [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^ips-agent [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^TinEye [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^UnisterBot [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^Unister [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^ReverseGet [NC]

    RewriteRule ^.* - [F,L]

    RewriteCond %{HTTP_USER_AGENT} ^DotBot [NC]

    RewriteRule ^.* - [F,L]

    Ich komme einfach nicht weiter und hoffe auch Eure Unterstützung! :)

    Gruß
    Schwabi

  • Zunächst mal: Was spuckt dir der Generator im ACP an Regeln aus?

    Abseits davon könntest du die Datei mal etwas aufräumen, damit man mal einen Überblick hat, was überhaupt abgeht:

    Ich habe hier gerade mal alles auskommentierte entfernt…

    Betreibst du dort noch etwas anderes außer dem WSC/WBB/… oder ist das die einzige Seite? Dann könnte man da nämlich auch noch ordentlich aufräumen.

    Regeln für die Linkumschreibung sind übrigens nicht vorhanden und die Umleitung vom Forum nur die Startseite dessen betreffend vorhanden… Bevor ich hier jetzt aber etwas schreibe, wären die fett markierten Infos super um das Ganze optimiert zu präsentieren. :)

  • Hallo MysterieCode,

    vielen Dank für Deine Hilfe! :)

    Betreibst du dort noch etwas anderes außer dem WSC/WBB/… oder ist das die einzige Seite? Dann könnte man da nämlich auch noch ordentlich aufräumen.

    Nein, nichts anderes mehr, es wird jetzt nur noch das WSC/WBB/ betrieben.

    Was spuckt dir der Generator im ACP an Regeln aus?

    Für /cms und /ppf jeweils:

    Apache Configuration
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?$1 [L,QSA]

    Beim Ausmisten bin ich gerne dabei. Ich hatte mich bisher nicht wirklich getraut was zu löschen.

  • Für /cms und /ppf jeweils:

    Nicht jeweils, sondern zwei unterschiedliche Regeln; deswegen frage ich. ;)

    Ich würde folgendes vorschlagen:

  • Das ist beide Male der gleiche Inhalt.

    Ich muss die .htaccess aber schon ins Root-Verzeichnis packen, oder? Oder zusätzlich auch in die Unterverzeichnisse /cms und /ppf?

    Poste bitte mal den insgesamten generierten Code und die Verzeichnisstruktur mit deinen Apps. :)

  • paules-pc-forum.de/cms

    Apache Configuration
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?$1 [L,QSA]

    paules-pc-forum.de/ppf

    Apache Configuration
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?$1 [L,QSA]

    /cms ist die Suite und

    /ppf das Forum.

    Ach so ich sehe gerade, dass ich auch wieder die Weiterleitung benötige. Ruft man paules-pc-forum.de auf, soll auf paules-pc-forum.de/cms weitergeleitet werden.

    Einmal editiert, zuletzt von Schwabi (20. März 2021 um 20:07)

  • Ahhh, ich verstehe. Wenn du es bei der Struktur belassen willst, brauchst du die drei Zeilen (nur ein Mal) und hinterlegst die Datei in beiden Verzeichnissen.

    Alternativ kannst du auch eine gemeinsame Datei auf oberster Ebene nutzen, dann wäre der Code:

    Ist es Absicht, dass die Website unter /cms/ liegt und nichts auf oberster Ebene?

  • Ist es Absicht, dass die Website unter /cms/ liegt und nichts auf oberster Ebene?

    Jein, eigentlich wollte ich das anders und habe bei der Installation einen Fehler gemacht. Aber es stört nicht weiter.

    Also es würde reichen, wenn die die von Dir erstellte .htaccess ins Hauptverzeichnis lege? Also paules-pc-forum.de/

  • Schade, es hat nicht ganz geklappt. Wenn ich paules-pc-forum.de/forum/ aufrufe kommt es zu einem Umleitungsfehler:

    https://www.paules-pc-forum.de/kunden/homepages/42/d000002/htdocs/paules-pc-forum.de/ppf/index.php?kunden/homepages/42/d2000002/htdocs/paules-pc-forum.de/ppf/index.php

  • Nein, ich hatte nichts anderes versucht. Inzwischen habe ich meine alte .htaccess wieder drin, da funktioniert die Umleitung von /forum nach /ppf, aber die alten Links wie: https://www.paules-pc-forum.de/forum/thread/177566-wann-sollte-man-sich-eine-neue-externe-festplatte-zulegen/ gehen halt ins Leere.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!