Htaccess pentru redirecționare de non-existente subpagini

0

Problema

Pentru un site, am relansat, aș dori un htaccess redirect capturare toate non-existente subpagini sub /blog/ la doar punctul de la /blog/ și nu o 404 (deci /blog/old-page/ va redirecționa doar pentru a /blog/). Este important, totuși, că încă existente subpagini (cum ar fi /blog/new-page/) nu sunt redirecționate. Este, de asemenea, mai bine dacă acest lucru poate fi în rădăcină htaccess (nu in subfolder). Mă simt ca și cum am încercat totul, dar nu pot găsi o soluție pentru acest lucru, fără a face redirecționări pentru fiecare vârstă subpagina (sunt >100)! Sper ca cineva poate ajuta.

.htaccess
2021-11-21 15:38:40
1

Cel mai bun răspuns

2

Dacă toate veche pagina de Url-uri au fost de forma /blog/<old-page>/ și anterior mapate la directoare fizice (din care un DirectoryIndex documentul a fost servit) atunci poti sa faci ceva de genul următor folosind mod_rewrite în partea de sus a rădăcinii .htaccess fișier:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(blog/)[^/]+/$ /$1 [R=301,L]

$1 în substituirea șir este o backreference la prima capturarea grupului în RewriteRule model, ie. "blog/". Acest lucru pur și simplu salvează repetiție.

Deoparte: Doar reedita aceste experiente de îngrijorare exprimate în comentarii. În ceea ce privește SEO și utilizatori, acest lucru este probabil mai rău decât un custom 404 răspuns care explică absent pagina(s). Motoarele de căutare vor vedea probabil acest lucru (multe la un redirect) ca soft-404 oricum și utilizatorii sunt mai susceptibile de a fi doar "confuz" (și sări) când vor vedea conținut diferit de ceea ce se așteaptă. Există într-adevăr nu este un substitut pentru "vechi" la "nou" (one-to-one) 301 redirecționări.

2021-11-25 11:06:08

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................