2

.htaccess を使用して、ユーザーを複数の古いドメインから新しいドメインにリダイレクトしています。このようなもの:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} oldsite1.com
RewriteRule ^(.*)$ http://newsite.com%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} oldsite2.com
RewriteRule ^(.*)$ http://newsite.com%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} oldsite3.com
RewriteRule ^(.*)$ http://newsite.com%{REQUEST_URI} [R=301,L]

ただし、次のように、NOT 演算子を使用して newsite.com 以外のドメインをリダイレクトできるかどうかを知りたいです。

Options +FollowSymLinks
RewriteEngine On

RewriteCond != %{HTTP_HOST} http://newsite.com
RewriteRule ^(.*)$ http://newsite.com%{REQUEST_URI} [R=301,L]

どうもありがとうございました!

4

1 に答える 1

1

公式マニュアル: http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond

間違った場所に配置!=しましたPLUS%{HTTP_HOST}にはドメイン名のみが含まれているため、プロトコルはそこにあるべきではありません:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} !=newsite.com
RewriteRule ^(.*)$ http://newsite.com%{REQUEST_URI} [R=301,L]
于 2012-04-26T16:05:02.160 に答える