Pre webové stránky, len som opäť naštartovať, chcel by som htaccess presmerovanie lov všetkých non-existing podstránky podľa /blog/
len bod /blog/
a nie 404 (tak /blog/old-page/
len by presmerovanie na /blog/
). Dôležité je však, že ešte stále existujúce podstránky (ako /blog/new-page/
) nie sú presmerované. Je to tiež najlepšie, ak tento môže byť v koreňovom htaccess súbor (nie v podpriečinka). Mám pocit, že som sa snažil všetko, ale nemôže nájsť riešenie pre to bez toho, aby vás presmeruje na každý jeden starý subpage (tam sú >100)!
Dúfam, že niekto môže pomôcť.
Ak všetky vaše staré Url stránok boli formulára /blog/<old-page>/
a predtým priradených k fyzickej adresárov (z ktorých DirectoryIndex
dokument bol doručený), potom si môžete urobiť niečo ako nasledujúce pomocou mod_rewrite v hornej časti koreňového .htaccess
súbor:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(blog/)[^/]+/$ /$1 [R=301,L]
$1
v substitučnej reťazec je backreference na prvé zachytenie skupiny v RewriteRule
vzor, tj. "blog/". To jednoducho šetrí opakovanie.
Stranou: Len opakovať obavy vyjadrené v komentároch. S ohľadom na SEO a užívateľov, to je pravdepodobne horšia ako vlastné 404 odpoveď, ktorá vysvetľuje chýba strana(y). Vyhľadávače budú pravdepodobne vidieť to a mnoho jeden presmerovanie) ako soft-404 tak, a užívatelia sú viac pravdepodobné, že práve byť "zmätený" (a odchodov), keď vidia iný obsah na to, čo sa očakáva. Tam naozaj nie je náhradou za "staré" na "nové" (one-to-one) 301 presmerovanie.