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']
будет проверять только доменное имя, а не запрошенный путь. Это, как вы описываете, но не похоже, что вы хотите.