0

書き直したい

  • www.mydomain.com/www/whatever.php

  • www.mydomain.com/www/whatever.php?hl=EN

whatever.php は固定されていません。www ディレクトリ内の任意の php ページを表します。

私のhtaccessは現時点では次のようになっています:

RewriteEngine on
RewriteCond %{REQUEST_URI} !hl=
RewriteRule ^(.+)$ $1?hl=EN [QSA,R=301,L]

しかし、何らかの理由で、各ページの実際のハードドライブ パスを www.mydomain.com に追加します。次に例を示します。

  • 127.0.0.1:8080/index.php

になる

  • 127.0.0.1:8080/D:/mypath/index.php?hl=EN

ここで何か間違ったことをしているに違いありません。

4

1 に答える 1

1

これを試すことができます:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  ^/(www/[^.]+\.php)/? [NC]
RewriteRule .*         %1?h1-EN             [R=301,L]

永久にリダイレクト

http://www.mydomain.com/www/whatever.php末尾のスラッシュの有無にかかわらず

に:

http://www.mydomain.com/www/whatever.php?hl=EN

を除くすべての文字列は固定されていると見なされますwhatever

サイレント マッピングの場合は[R=301,L][L]


SOから編集:

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} !hl=
RewriteCond %{REQUEST_URI}  ^/(www/[^.]+\.php)/? [NC]
RewriteRule .*         %1?hl=EN             [R=301,L]

うまくいきました、ありがとう

于 2013-02-19T23:45:27.613 に答える