Регулярен израз за домейн - без поддомейни

uphero

Registered
Имам примерен стринг:
http://web-tourist.net/index.php
и искам да се позволява само този домейн, без примерно:
http://web-tourist.net.exmple.com/index.php
Как ще стане, че аз някак не се оправям с този тип проверки.
 
RewriteCond %{HTTP_HOST} !^(www\.)?mysite\.tld$ [NC]
RewriteRule ^ - [F,L]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

това?
 
swlight каза:
RewriteCond %{HTTP_HOST} !^(www\.)?mysite\.tld$ [NC]
RewriteRule ^ - [F,L]

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

това?
Не съм се изразил правилно - трябва ми проверка дали лина е валиден според заднието от първия пост
 
https://regex101.com/r/fX7wB6/2 ?

PHP:
<?php

$pattern = '/:\/\/(web-tourist\.net(\/|\z))/';

var_dump(preg_match($pattern, 'http://web-tourist.net/index.php')); // 1
var_dump(preg_match($pattern, 'http://web-tourist.net.exmple.com/index.php')); // 0
 
Не съм много сигурен, каква ти е идеята, но може да пробваш следното:

Код:
echo substr(parse_url($url, PHP_URL_HOST), strrpos(parse_url($url, PHP_URL_HOST), ".", -5) +1);

Като цяло е грешно, но би трябвало да парсва домейна с топ левъл домейна в 99.99% от случаите. В примера $url съдържа адреса, който искаш да провериш...
 
djman каза:
https://regex101.com/r/fX7wB6/2 ?

PHP:
<?php

$pattern = '/:\/\/(web-tourist\.net(\/|\z))/';

var_dump(preg_match($pattern, 'http://web-tourist.net/index.php')); // 1
var_dump(preg_match($pattern, 'http://web-tourist.net.exmple.com/index.php')); // 0
Идеята е, че всеки добавя линк и трябва да се провери дали е от точно определен сайт.
С това минава линка:
http://example.com/http://www.website.com/index.php
Някакви други идеи как да чекна домейна?
 
lamerko каза:
Не съм много сигурен, каква ти е идеята, но може да пробваш следното:

Код:
echo substr(parse_url($url, PHP_URL_HOST), strrpos(parse_url($url, PHP_URL_HOST), ".", -5) +1);

Като цяло е грешно, но би трябвало да парсва домейна с топ левъл домейна в 99.99% от случаите. В примера $url съдържа адреса, който искаш да провериш...
Така стана, мерси. Явно първо трябва да се пие кафето, че нещо недовиждам.
 

Back
Горе