0

私は次の形式を持っています:

mydomain.com/whois.php?domain=google&ext=com&option=whois

そして、次のようなmod-rewriteの新しいアドレスを使用したい:

mydomian.com/google.com

私はこの行を使用しますが、機能しません:

RewriteRule ^([a-zA-Z0-9]*).([a-zA-Z0-9]+) whois.php?domain=$1&ext=$2&option=whois [L]

助けてください

4

1 に答える 1

0

これは .htaccess ファイルで必要です

RewriteEngine on
RewriteRule ^([a-z0-9-]+)\.([a-z]+)(\.([a-z]{2}))?$ /whois.php?domain=$1&tld=$2&co=$4&option=whois [NC,L]

正規表現と変数名にいくつかの変更を加えたことに注意してください。ext は tld になりました (トップ レベル ドメイン、例: com)

  • /whois.php の前に追加。.htaccess ファイルを whois.php と同じフォルダーに配置します。
  • co値を持つ場合と持たない場合がある変数 (国ドメイン) を追加しました。
  • NCフラグで正規表現の大文字と小文字を区別しないようにしました。
  • A-Z大文字と小文字を区別しないため、を削除しました。
  • でドット ( .) をエスケープしました\
  • -ドメイン内の可能な文字に追加されました。
  • ドメイン内の文字数がから*に変更されました。少なくとも 1 文字が必要なためですよね?+
  • トップ0-9レベルおよび国のドメインを削除しました。

アップデート

私の提案した変更を反映するために whois.php の URL 変数を変更したくない場合は、この新しい行を提供します。これは、whois.php を変更しなくても機能します。

RewriteRule ^([a-z0-9-]+)\.([a-z]+)(\.[a-z]{2})?$ /whois.php?domain=$1&ext=$2$3&option=whois [NC,L]
于 2013-02-03T22:13:29.057 に答える