0

小文字の GET を強制したい。disqus.com コメント システムを使用している。GET に基づいてページを提供している。disqus.com は区別しない

 http://www.mydomain.com/words/?w=Hej 

 http://www.mydomain.com/words/?w=hej 

さまざまなページのコメントを提供します。

この問題を解決する最善の方法は何ですか? 私が読んだものから .htcacess を使用できないようです。大文字の場合は 404 を提供したくありません。URL で小文字を強制する他の方法はありますか?

編集2:

私は私自身の解決策を試しました

$page = urldecode($_GET['w']);
$lowerPage = strtolower($page);

if ($page !== $lowerPage) {

     header("Location: http://www.mydomain.com/words/?w=". $lowerPage);
     die();
}

Firefox では正常に動作しますが、Google はリダイレクトに遅延を追加します。とにかく、以下のソリューションを今すぐテストしてください。

4

2 に答える 2

1

これは、Apache mod_rewrite で実行できる 1 つの方法です。

  1. まず、httpd.conf で mod_rewrite と .htaccess を有効にします。

  2. URL を小文字にするには、httpd.conf に次の行を追加し、Apache プロセスをバウンスする必要があります。

    RewriteMap lc int:tolower

  3. 次に、このコードを DOCUMENT_ROOT ディレクトリの下の .htaccess に追加します。

動作していることを確認したら、R=302 を R=301 に変更します。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^([^A-Z]*[A-Z].*)$ /${lc:$1} [R=302,L]
于 2013-05-14T22:35:14.023 に答える
0

リンクを印刷するときは、これを使用してください

echo " http://www.mydomain.com/words/?w= ".strtolower(Hej);

于 2013-05-14T22:37:12.593 に答える