Adresy URL mojej witryny nie uwzględniają wielkości liter. Na przykład oba poniższe linki pokazują dokładnie tę samą stronę:
http://example.com/about
http://example.com/About
Jednak patrząc na stronę wordpress.org zauważyłem, że w adresach URL rozróżniana jest wielkość liter. Na przykład drugi link poniżej to strona błędu 404:
http://wordpress.org/about
http://wordpress.org/About
Myślę o tym, aby w adresach URL mojej witryny rozróżniane były wielkie i małe litery. Oprócz oczywistego problemu unikania powielania treści, jakie są zalety i wady posiadania rozróżniających wielkość liter adresów URL?
Aktualizacja
Wydaje się, że Google stosuje zasadę rozróżniania wielkości liter w odniesieniu do własnych adresów URL. Na przykład drugi link poniżej to 404:
http://google.com/doodles
http://google.com/Doodles
Aktualizacja 2
Dziękuję za odpowiedzi. Postanowiłem skorzystać z porady wymienionej w zaakceptowanej odpowiedzi i w razie potrzeby wdrożyć 301 przekierowań. Ponieważ pracuję z WordPress, moje rozwiązanie w zakresie kodu wygląda następująco (na wypadek, gdyby ktoś był zainteresowany):
function force_lowercase_urls() {
if ( is_admin() )
return;
if ( preg_match( '/[A-Z]/', $_SERVER['REQUEST_URI'] ) ) {
wp_redirect( strtolower( $_SERVER['REQUEST_URI'] ), 301 );
exit();
}
}
add_action( 'init', 'force_lowercase_urls' );
źródło
But wouldn't that result in duplicate content? – henrywright
Nigdy nie musisz się martwić o duplikaty linków, jeśli Twoja witryna prawidłowo korzysta z linków kanonicznych i możesz mieć dostęp do 1 strony na milion sposobów i nigdy nie będzie to miało wpływu na duplikaty treści.Odpowiedzi:
Dwa z najczęściej używanych systemów plików systemu operacyjnego do udostępniania treści internetowych mają domyślnie bardzo różne ustawienia dotyczące rozróżniania wielkości liter w adresach URL. Niezależnie od tego, czy w adresach URL rozróżniana jest wielkość liter, prawdopodobnie używasz tej funkcji:
Moim zdaniem żadne ustawienie domyślne nie jest idealne:
Idealnym rozwiązaniem byłoby wyświetlanie strony tylko wtedy, gdy adres URL jest poprawnie pisany wielką literą. W przypadku niepoprawnej wielkiej litery użytkownik powinien zostać przekierowany na 301 preferowaną wielkość liter. Można to osiągnąć na kilka sposobów:
źródło
/iNdEx.HtMl
lub/InDeX.hTml
oba zostaną zwrócone/index.html
(pod warunkiem, że/index.html
jest to plik fizyczny w systemie plików).Oto pozycja Google z zarchiwizowanej sesji czatu na żywo (link już nie żyje):
Zespół IE zaleca wybranie konwencji dotyczącej obudowy plików i ścisłe jej przestrzeganie, ponieważ może to poprawić wydajność.
źródło
RFC 3986 6.2.2.1 definiuje identyfikatory URI jako bez rozróżniania wielkości liter, więc nie jest dobrym pomysłem, aby rozróżniać wielkość liter, tak jak robi to wordpress.org.
źródło
http://
) - bez rozróżniania wielkości liter, normalizacja na małe litery. 2 - Nazwa hosta (example.com
) - bez rozróżniania wielkości liter, normalizacja na małe litery. 3. Znaki zakodowane w procentach (%3F
) - bez rozróżniania wielkości liter, normalizacja na wielkie litery. W pozostałej części adresu URL rozróżniana