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 回答