私はApacheの.htaccessでリダイレクトしようとしています。私はそれはかなりうまく機能正確なURLが一致する場合にのみリダイレクトする方法はありますか?
redirectMatch 301 /user http://clients.mydomain.com
次のコードを持っているが、私は「/ユーザー/ログインは」が「http://clients.mydomain.com/login」に向かうことにしたくありません。
どうすればいいですか?
私はApacheの.htaccessでリダイレクトしようとしています。私はそれはかなりうまく機能正確なURLが一致する場合にのみリダイレクトする方法はありますか?
redirectMatch 301 /user http://clients.mydomain.com
次のコードを持っているが、私は「/ユーザー/ログインは」が「http://clients.mydomain.com/login」に向かうことにしたくありません。
どうすればいいですか?
正規表現を使用すると、既にリダイレクト一致が使用されています。
http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirectmatch
'$' をURLの末尾にマッチ。あなたの例では:
redirectMatch 301 ^/user/(.+)$ http://clients.example.com/
シンプル先頭に^
を追加し、最後まで$
^
は一致する正規表現を伝え
$
が伝えURLの先頭にマッチする正規表現を伝えるよう指示しますURLの末尾
redirectMatch 301 ^/user$ http://clients.mydomain.com
これでルールはmaになりますTCH /user
ない/some/user
または/user/name
または/some/user/name
注:あなたが/user/
と/user
を一致させたい場合は、^/user/?$
?
を使用する前の文字/グループ・ゼロ1回
最後に/を確認することは良い考えです。 Firefoxは/ urlが/ userだと思ってもそれを隠すので、/ user/ – SomethingOn
のように実際に渡されますが、スペース文字が ''?これらを適切に処理するには二重引用符が必要です。 'Redirect'の正規表現でエスケープ' \ 'を使用すると、システムはエスケープされたスペースではなく余分なパラメータであると考えます。二重引用符を使用している場合、完全一致を指定するのに '^'や '$ 'を使うことはできません – ahnbizcad