Я разместил сайт в Godaddy и доступен через https и http. Я объявил BASE_PATH var глобально на моем conf.php как:
define('BASE_URL','//theventuregame.com');
И я использую этот BASE_URL var почти везде на моем сайте.. проблема в том, что люди посещают его, используя http://theventuregame.com или https://theventuregame.com, все работает отлично.. но когда они пытаются ввести www. theventuregame.com, который перенаправляет на https://www.theventuregame.com и что BASE_PATH отличается от URL-адреса и делает проблему.
Как сделать мой BASE_PATH всегда таким же, как и люди, доступ к странице??? Я использую это в httaccess:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
всегда перенаправлять сайт на https, поэтому я могу иметь свой BASE_PATH как:
define('BASE_URL','https://www.theventuregame.com');
но некоторые люди отправляются на сайт как theventuregame.com и перенаправляют их на https://theventuregame.com, а мой BASE_PATH снова отличается.
Надеюсь, я понял с моим вопросом.
Thanx
Вы можете использовать переменные PHP $_SERVER
для определения базового URL-адреса веб-сайта.
Для моего сайта я использую эту строку:
$siteRootUrl = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST']."/";
Это устанавливает протокол и хост с помощью $_SERVER['HTTP_HOST']
, а затем объединяется в корневую строку URL-адреса.
Подобная строка может помочь вам, тогда вы можете вызвать define('BASE_URL', $siteRootUrl);
и по-прежнему использовать его на сайте. Тогда не имело бы значения, обращались ли люди к вашему сайту через HTTP или HTTPS или использовали ли они www. или нет.
Посмотрите здесь дополнительную информацию о $_SERVER
PHP $_SERVER
.
Так же, как примечание, если вы используете HTTPS, тогда лучше заставить людей использовать HTTPS для обеспечения безопасности там.