0

ルート例にフォルダーを作成しました: http://www.zipholidays.co.uk/Cubaまたはhttp://www.zipholidays.co.uk/Florida

http://www.zipholidays.co.uk/cuba (小文字のキューブ) と入力すると、ページが見つからないと表示されます。

私はApacheサーバーを使用しています。人々は、小文字、大文字、大文字と小文字が混在するページにリンクしています。ページで大文字と小文字を区別しないようにするにはどうすればよいですか?

4

5 に答える 5

3

おそらくmod_spelling?mod_spelling

于 2009-09-25T11:43:25.717 に答える
2

ページで大文字と小文字を区別しないようにすると、同じ内容のページが 2 つあるため、重複する内容の問題が発生します。

適切な解決策は、小文字の対応するページが存在する場合に、すべての 404 ページで 301 リダイレクトを行うことです。

たとえば、404 デフォルト ページでは、次のように入力します。

<?php
    $lower = strtolower($_SERVER['REQUEST_URL']);
    if (file_exists(PATH_TO_YOUR_APPLICATION . $lower) {
        header('location: ' . $lower, true, 301);
        die();
    }
?>

したがって、404 ページを読み込むときに、小文字の同じ URL が存在する場合は、そこにリダイレクトします。それ以外の場合は、独自の不足しているページ コンテンツを表示できます。

于 2009-09-25T11:43:18.510 に答える
2

URL の大文字と小文字を区別しません。代わりに、そのような URL を作成するための厳密なガイドラインに従います。たとえば、小文字の URL パスのみを使用し、大文字の URL パスを持つリクエストを小文字のバリアントにリダイレクトします。

mod_rewriteでそれを行うこともできます(内部関数へのマップの書き換えが必要tolowerです):

RewriteCond %{tolower:%{REQUEST_URI}} .+
RewriteRule ^[^A-Z]*[A-Z] %0 [L,R=301]
于 2009-09-25T13:36:51.370 に答える
0

おそらく、サーバーOSとしてLinuxをWindows用に置き換えることができます。

Linux 上の Apache では、ファイルパスで大文字と小文字が区別されるため、URI でも大文字と小文字が区別されます。Windows ファイル システムでは大文字と小文字が区別されないため、大文字と小文字は区別されません。

于 2009-09-25T11:42:47.387 に答える
-1

その必要はありません。Google は、サイトに重複したページがあると判断し、アクセスを禁止するからです。それがSEO科学のルールです。

于 2012-01-05T06:24:00.027 に答える