PHP: ЕСЛИ домен равен ТОЛЬКО [x] затем [действия], но не подкаталоги / файлы

Я пытаюсь выполнить код с помощью PHP, но только если URL находится именно в точке входа сайта: http://mywebsite.com/. Так что конкретно только по этому URL, ничего после. Я зашел в тупик после того, как попробовал несколько операторов PHP IF ELSE, чтобы попытаться получить его, я чувствую себя очень близко.

<?php $host = $_SERVER['HTTP_HOST']; if($host == "www.mywebsite.com" or $host == "mywebsite.com") { ?> MYHTML1SHOWS <?php } else { ?> MYHTML2SHOWS <?php } ?>

Это дало мне успех в появлении на домене, когда большинство посетителей придут на mywebsite.com, но продолжает работать со всеми последующими вложенными файлами / страницами / каталогами. Который на 100% не хотел.

Поэтому я подумал о работе вокруг, например, ELSEIF, чтобы показать MYHTML2 для нацеливания на все мои страницы, так как они удобно расположены в каталогах, распределенных по странам: / au /, / asia /, / nz /, / uk / и т. Д.

<?php } elseif (stripos($_SERVER['REQUEST_URI'],'/au/') !== false) { ?> HTML3 <?php } ?>

Это не сработало, но стоило попробовать (работает над собственным оператором IF на предыдущих веб-сайтах, который я делал, но я полагаю, что это противоречит первому оператору IF, который в PHP имеет более высокий приоритет). Я ценю любую помощь, ребята, это поставило меня в тупик, но было бы полезно. В сети не было подобных вопросов, чтобы показывать код таким образом.

(Справочная информация: я использую "Выбор страны", который отображается только в точке входа на mywebsite.com. Я уже настроил каждую страну в своих собственных подкаталогах, поэтому нет цели показывать для них селектор страны, если клиент идет прямо на один из этих адресов).

1 ответ

Вы, вероятно, делаете магию с mod_rewrite Apache... если нет, это может быть хорошим местом, чтобы начать искать. Похоже, проблему, которую вы пытаетесь решить, лучше всего решить с помощью Apache, либо в вашем httpd.conf, либо (если включено) через.htaccess.

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

В противном случае $_SERVER переменные $_SERVER['PHP_SELF'] а также $_SERVER['REQUEST_URI'] вероятно, полезны для вас.

http://www.php.net/manual/en/reserved.variables.server.php

$_SERVER['HTTP_HOST'] будет проверять только доменное имя, а не запрошенный путь. Это, как вы описываете, но не похоже, что вы хотите.

Другие вопросы по тегам