Probleme mit mod_rewrite

-=TOM=-

Aktives Mitglied
Lizenzinhaber
Registriert
12. Okt. 2016
Beiträge
95
Punkte
33
XF Version
Provider/Hoster
AllInkl
Hallo,

ich versuche URL´s vom alten Forum auf das neue umzuschreiben, aber einzelne URL´s wollen einfach nicht umgeleitet werden.
Da ich mich nicht so gut mit der Materie auskenne benutze ich gerne Generatoren im Internet, welche mir das Umschreiben abnehmen,
Aber auch damit hatte ich bisher keinen Erfolg.

Es geht um folgende URL´s:

Alt:
https://grillerforum.de/index.php?thread/1810-erste-erfahrungen-mit-einem-do-von-weber/

Neu:
Erste Erfahrungen mit einem DO von Weber

Meine Umschreibung, welche bei vielen anderen URL´s problemlos funktioniert, funktioniert hier gar nicht.
Sie sieht so aus:

RewriteEngine on
Redirect 301 /index.php?thread/1810-erste-erfahrungen-mit-einem-do-von-weber/ Erste Erfahrungen mit einem DO von Weber

Hier einmal die komplette .htaccess:

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

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} !^grillerforum\.de$ [NC,OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://grillerforum.de/$1 [R=301,L]

#    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 /xenforo

#    This line may be needed to enable WebDAV editing with PHP as a CGI.

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]

</IfModule>


# Permanent URL redirect
RewriteEngine on

Redirect 301 /index.php/Thread/1346-T-Bone-von-750g/ https://grillerforum.de/threads/steak-champ-test.248/

Redirect 301 /index.php/Thread/767-Geraeucherte-Haehnchenbrust https://grillerforum.de/threads/geraeucherte-haehnchenbrust.679/

Redirect 301 /Thread-Gussrost https://grillerforum.de/threads/gussrost.184/

Redirect 301 /Thread-Steak-Champ-Test https://grillerforum.de/threads/steak-champ-test.248/

Redirect 301 /index.php?thread/930-spr%C3%BChgehacktes/&postID=7857 https://grillerforum.de/threads/spruehgehacktes.820

Redirect 301 /Thread-Schaschlik https://grillerforum.de/threads/schaschlik.564/

Redirect 301 /Thread-Vergleich-Maverick-ET-732-vs-Outdoorchef-Gourmet-Check https://grillerforum.de/threads/vergleich-maverick-et-732-vs-outdoorchef-gourmet-check.226/

Redirect 301 /Thread-Weber-Go-Anywhere https://grillerforum.de/threads/go-anywhere.2195

Redirect 301 /index.php?thread/1850-schichtfleisch-aus-dem-dopf/ https://grillerforum.de/threads/schichtfleisch-aus-dem-dopf.1680/

Redirect 301 /index.php?thread/1372-kartoffelgratin-aus-dem-neuen-dutch-oven https://grillerforum.de/threads/kartoffelgratin-aus-dem-neuen-dutch-oven.1218/

Redirect 301 /index.php?thread/1414-w%C3%BCrstchengulasch-ala-magic-dust https://grillerforum.de/threads/wuerstchengulasch-ala-magic-dust.1259/

Redirect 301 /thread/2610-french-rolls-mit-nutella-gef https://grillerforum.de/attachments/img_6921-jpg.11657/
 
Redirect 301 /index.php?thread/1810-erste-erfahrungen-mit-einem-do-von-weber/ https://grillerforum.de/threads/erste-erfahrungen-mit-einem-do-von-weber.1640/

Was mache ich dabei falsch?
 
Zuletzt bearbeitet:
Du kannst doch nicht ernsthaft jedes einzelne Thema umschreiben wollen? Dir ist schon klar das auch die htaccess auf die Performance des Servers / deiner Seite Einfluß hat? ;)
 
An sich solltest du eine Zeile dort eintragen, die alte Links in neue Links verwandelt
Das würde ich ja gerne machen, aber die Linkstuktur und die ID´s sind schon extrem unterschiedlich. Ich habe keine Ahnung, wie das funktionieren kann.

Oder du sagst den Suchmaschinen, dass du einen kompletten Rescan haben möchtest.
Ein guter Hinweis, danke dafür! Das habe ich soeben gemacht.
 
Wenn du vom vB auf XF umgesteigen bist, gibt es ein Redirect Script, du musst aber das Import Log noch haben.
 
Tja, ist wie bei einem Dutch Oven. Erstmal einbrennen. :D

Nein, ernsthaft. Mach so wenig Weiterleitungen in der htaccess, das geht auf die Laufzeit. Lösche alles aus dem Google Index und mache einen Neustart. Wichtigstes Werkzeugt ist die Search Console (Webmastertools), das gibts auch für Bing.

Oder, schreibe ein eigenes Weiterleitungsscript, das die wichtigsten Dateien weiterleitet per 301, das kann man auch einfach erweitern.

Dann mittels ModRewrite die Datei einbinden. (Aus dem Kopf... keine Garntie auf eine funktionierende Rule)

Code:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/index\.php/Thread/(\d*)- /redirect.php?thread=$1
RewriteRule ^/Thread-(.*) /redirect.php?title=$1
RewriteRule ^/index.php?thread/(\d*)- /redirect.php?thread=$1
Und in der rewrite.php die du selber anlegst, behandelst du dann die Parameter.
PHP:
<?php
$threadList = array(
    // old thread ID's
    '1346' => 'https://grillerforum.de/threads/steak-champ-test.248/',
    '930' => 'https://grillerforum.de/threads/spruehgehacktes.820',
    // Now titles
    'Weber-Go-Anywhere' => 'https://grillerforum.de/threads/go-anywhere.2195',
);
$key = filter_input(INPUT_GET, 'thread', FILTER_SANITIZE_NUMBER_INT);
if (empty($key))
{
    $key = filter_input(INPUT_GET, 'title', FILTER_SANITIZE_STRING);
}

// set default target to all other pages to prevent 404ers
$target = 'https://grillerforum.de/threads/wir-sind-umgezogen/';
$code = '303'; // See other

if (array_key_exists($key, $threadList))
{
    $target = $threadList[$key];
    $code = '301'; // Moved permanent
}
header("Location: $target", $code);

Der Fehler in deiner Eingangsfrage liegt vermutlich entweder an dem nicht nicht escapetem ? oder an Groß/Kleinschreibung.
 
Zurück
Oben