Вы можете использовать приведенный ниже код в root htaccess.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(^.*)\.xyz.com
RewriteRule (.*) index.php?username=%1&$1 [L,QSA]
http://hello.xyz.com/abc/?var=12
Array
(
[username] => abc
[index_php] =>
[abc/] =>
[var] => 12
)
Поддомен подстановочного знака необходим для активации DNS. вы получите имя пользователя в строке запроса, которое вы можете использовать внутри своего кода.
You can use this to try and parse it:
IPAddress.TryParse
Then check AddressFamily
which
Returns System.Net.Sockets.AddressFamily.InterNetwork for IPv4 or System.Net.Sockets.AddressFamily.InterNetworkV6 for IPv6.
EDIT: some sample code. change as desired:
string input = "your IP address goes here";
IPAddress address;
if (IPAddress.TryParse(input, out address))
{
switch (address.AddressFamily)
{
case System.Net.Sockets.AddressFamily.InterNetwork:
// we have IPv4
break;
case System.Net.Sockets.AddressFamily.InterNetworkV6:
// we have IPv6
break;
default:
// umm... yeah... I'm going to need to take your red packet and...
break;
}
}
string myIpString = "192.168.2.1";
System.Net.IPAddress ipAddress = null;
bool isValidIp = System.Net.IPAddress.TryParse(myIpString, out ipAddress);
Если isValidIp
имеет значение true, вы можете проверить ipAddress.AddressFamily
, чтобы определить, является ли это IPv4 или IPv6. Это AddressFamily.InterNetwork
для IPv4 и AddressFamily.InterNetworkV6
для IPv6.