2012-10-30 16 views
5

Mamy aplikację internetową dla wielu dzierżawców, na której klienci mogą konfigurować niestandardowe domeny dla swojej witryny.Przekierowanie HTTP 404

Gdy żądana jest nieprawidłowa domena, musimy wyświetlić stronę błędu w innej domenie. Jaki jest prawidłowy sposób obsługi tego? Pomyślałem, że może wydając 303 stronę na drugiej stronie, która zawsze zwraca 404. Czy to sprawi, że wyszukiwarki będą szczęśliwe?

+0

Aby wyjaśnić, co próbujesz osiągnąć: powiedzmy, że żaden z Twoich klientów nie dodał adresu www.example.com; jeśli na twój serwer internetowy zostanie wysłane żądanie dotarcia do strony www.example.com, czy chcesz, aby ta prośba została automatycznie przekierowana na stronę www.example2.com/notfound.htm? Czy rozumiem to poprawnie? – Jesse

+0

Tak, rozumiesz poprawnie. –

+0

Czy musi to być inna domena na pasku adresu, czy może wystarczy wyświetlić odpowiedni komunikat o błędzie? – PointedEars

Odpowiedz

2

Nadal staram się określić potrzebę tego. Ponieważ nie dostarczono wielu informacji, dlaczego jest to potrzebne. Istnieje wiele hostów, które pozwalają użytkownikom tworzyć miejsca dla siebie. Kiedy wystąpi jakikolwiek błąd, po prostu łączy się z lokalnym 404. Dlaczego więc trzeba przejść do innej domeny na 404? Jako ustawienie dokumentu błędu 404 z domeną i subdomenami. Lokalny 404 jest wezwany do wszystkich z nich. To nie tylko 404 dla domeny głównej, pozostawiając podkatalogi bez pojęcia. Jeśli chodzi o pozwolenie użytkownikom na konfigurowanie niestandardowych domen, domyślam się, że to był literówka. A ty miałeś na myśli "niestandardowe subdomeny". Chyba że to było poprawne, a to w pewien sposób pozwalało klientom kupować pakiety hostingowe od ciebie. Za co mogą odsprzedać swoim klientom. Jeśli to drugie jest poprawne. Po prostu trzeba poprawnie skonfigurować swoje środowisko. Chociaż sądzę, że chodziło ci o subdomeny.

ErrorDocument 404 /404.html

Istnieje kilka lepszych sposobów, aby wykonać poniżej. Tylko dostarczanie najszybszych. chodzi o chcąc odbić się od 404 do innej domeny nadal można:

  • W .htaccess zrobić:

    ErrorDocument 404 /404.html 
    
  • W miejscowym użytku 404.html:

    <meta http-equiv="refresh" content="0; url=http://example.com/"> 
    

Pamiętaj, że możesz użyć innych metod.

0

Aby zapewnić wyszukiwarkom radość, niech wydaje się, że 404 pochodzi z nieprawidłowej domeny poprzez maskowanie domeny. Zapobiegnie to gromadzeniu złą reputację z powodu zbyt wielu przekierowań w czasie. Okazjonalne przekierowanie do dokumentu kanonicznego jest dobre, ponieważ oznacza to, że ćwiczysz DRY (Nie powtarzaj się) przez przekierowanie do kanonicznego IRI zakwalifikowanego do soku wyszukiwania. Użyj meta noindex na stronie 404, aby uniemożliwić wyszukiwarkom zapamiętywanie nieprawidłowych IRI domeny niestandardowej.

1

Najpierw spróbuj znaleźć w swoim panelu sterowania aplikację na swoim hoście internetowym, która pozwoli ci utworzyć stronę błędu. Jeśli używasz cPanel, ta aplikacja nosi nazwę strony błędów, która ma nagłówek z Advanced nagłówka. Po znalezieniu tej aplikacji, teraz utwórz plik o błędzie (Nie znaleziono). W cPanel, istnieją specyficzne „Odnosząc URL”, „Visitor adres IP”, „Żądana URL”, „Nazwa serwera”, „przeglądarka Visitor” i „przekierowanie kod stanu” znaczniki dla tego pliku obsługującego SSI, a po zapisaniu strony błędu 404 zostanie ona zapisana pod numerem 404.shtml z rozszerzeniem pliku rozpoznawanego przez serwer sieciowy jako plik HTML obsługujący SSI. Jeśli w ogóle nie ma aplikacji o błędach .w panelu c, spróbuj utworzyć stronę błędu ręcznie z rozszerzeniem .shtml, jeśli twój serwer jest skonfigurowany, aby na to zezwolić. Jeśli nie można go odczytać lub plik stanie się nieczytelny, nadal można użyć innego rozszerzenia, ale w przypadku serwera WWW nie jest on rozpoznawany jako plik HTML obsługujący SSI.

Najlepszym sposobem jest przepisanie, a nie przekierowanie wszystkich pustych subdomen, na /404.shtml, ale najpierw upewnij się, że na koncie jest mechanizm do przepisywania. Teraz zmienimy wszystkie te subdomeny na mod_rewrite. Spróbuj znaleźć plik .htaccess w swoim menedżerze plików. Ten plik często znajduje się w tym samym folderze, w którym znajduje się strona index. Jeśli nie ma takiego pliku, możesz utworzyć nowy w folderze, w którym znajduje się Twoja index. Kod ten musi być na samym szczycie swojej pustej .htaccess źródła, i nie usuwają go podczas testowania następujące zestawy warunków i zasad poniżej po tym:

Options +FollowSymlinks 
RewriteEngine on 

I spróbuj wkleić poniżej dwóch linii tej dyrektywy Kod powyżej:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
Rewrite ^(.*) /404.shtml 

Jeśli dyrektyw powyżej nie działa, spróbuj poniżej czynności:

RewriteCond %{REQUEST_URI} !-f 
RewriteCond %{REQUEST_URI} !-d 
Rewrite ^(.*) /404.shtml 

Jednakże, jeśli nie chcesz przekierowaniem t te puste subdomeny, po prostu dodaj flagę [R] po rozszerzeniu pliku reguły, po prostu nie zapomnij o pojedynczym spacji przed flagą.

Powiązane problemy