1

short.comが短いドメインで、long.comが長いドメインだとしましょう

更新しました:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.long.com
RewriteRule (.*) http://long.com/ [R=301]

RewriteCond %{HTTP_HOST} ^short\.li$ [NC]
RewriteCond %{REQUEST_URI} !^/redirect
RewriteRule ^(.*)$ /redirect?short=$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^(www\.)short\.li$
RewriteRule ^$ http://long.com/ [L,R=301]

両方のドメインがそのルートディレクトリを指しています。short.liと入力すると、long.com /?l =になります。どうやってそのように失敗したのですか?^^

4

2 に答える 2

2

htaccessファイルでこれを試してください:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)short\.com$
RewriteRule ^$ http://www.long.com/ [L,QSA,R=301]

RewriteEngine onすでに存在する場合は削除します

于 2012-08-16T15:12:52.080 に答える
0

私はあなたがこれに沿って何かを望むかもしれないと思います:

RewriteEngine on
RewriteCond {REQUEST_URI} !/
RewriteCond {HTTP_HOST} short.com
RewriteRule ^(.*) http://long.com/redirect.php?short=$1 [L,R=301]

RewriteCond {REQUEST_URI} /
RewriteCond {HTTP_HOST} short.com
RewriteRule ^(.*) http://long.com/ [L,R=301]

最後の正規表現が必要かどうかはわかりませんが、このようなものは機能するはずです

于 2012-08-16T15:18:20.723 に答える