1

わかりました、同様の質問が常に行われていることがわかりますが、多くの調整の後、まだ機能しません。

これのすべてのバージョンをリダイレクトしたい:

http://example.com/en/something

これに:

http://example.com/EN/something

たとえば、次のようになります。

http://example.com/en/2007/06/08/the-3-basic-variations-of-hummus/

これに:

http://example.com/EN/2007/06/08/the-3-basic-variations-of-hummus/

htaccessでどうすればいいですか?

ありがとう。

4

1 に答える 1

3

mod_rewrite - URL の大文字と小文字を変更する

2番目の答えが正しいということだけです。

また、RewriteMap はサーバー構成または VirtualHost にある必要があります

一般的な使用のための私のソリューション:

<VirtualHost *:80>
  ...
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteMap uppercase int:toupper
    RewriteRule ^/(en|he)(/.*)?$ /${uppercase:$1}$2 [L,R=301]
  </IfModule>
  ...
</VirtualHost>

したがって、| で区切られた言語を追加できます。

サーバーまたは仮想ホスト構成へのアクセスなしで、特定の文字列に対して使用する場合:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^en(/.*)?$ /EN$1 [L,R=301]
</IfModule>

ディレクトリごとの RewriteRule (.htaccess はディレクトリごとの設定) 設定では、一致パターンの最初のスラッシュを省略することに注意してください。

Ubuntu Server 12.04.2 の Apache 2.2.22 で確認済み

于 2013-06-19T10:20:14.973 に答える