Htaccess przekierowanie do nieistniejących podstron

0

Pytanie

Na stronie internetowej, który właśnie rozpoczęło, chciałbym, aby przekierowanie htaccess перехватывало wszystkie nieistniejące podstrony pod /blog/ aby po prostu zwrócić uwagę na /blog/ i nie 404 (tak, że /blog/old-page/ po prostu skierował na /blog/). Jednak ważne jest, aby wszystkie jeszcze istniejące podstrony (np. /blog/new-page/nie są przekierowywane. Także lepiej, jeśli to może być w głównym pliku. htaccess (a nie w podfolderze). Czuję, że wszystkiego, ale nie mogę znaleźć rozwiązanie dla tego nie robi przekierowania dla każdej starej podstrony (ich >100)! Mam nadzieję, że ktoś będzie w stanie pomóc.

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

Najlepsza odpowiedź

2

Gdyby wszystkie stare adresy URL stron miały kształt /blog/<old-page>/ i wcześniej powiązana z fizycznymi katalogami (z których DirectoryIndex dokument został złożony), to możesz zrobić coś takiego jak poniżej, za pomocą mod_rewrite w górnej części korzenia .htaccess plik:

RewriteEngine On

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

$1 w pasku wyszukiwania znajduje się odniesienie do pierwszej grupy przechwytywania w RewriteRule szablon, czyli "blog/". To jest po prostu oszczędza powtarzanie.

Na stronie: Tylko po to, aby powtórzyć troskę wyrażoną w komentarzach. Jeśli chodzi o SEO i użytkowników, to najprawdopodobniej gorzej niż własny odpowiedź 404, który wyjaśnia brak strony(stron). Wyszukiwarki, najprawdopodobniej zobaczą to (przekierowanie "wiele do jednego") jak soft-404 w każdym razie, i użytkownicy, najprawdopodobniej po prostu "poskręcać" (i odbijają się), kiedy zobaczą treści, niż tego, czego oczekują. W rzeczywistości nie ma wymiany "starego" przekierowania na "nowy" (jeden do jednego) 301.

2021-11-25 11:06:08

W innych językach

Ta strona jest w innych językach

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