2015-11-30 4 views
0

Я получаю сообщение об ошибке в приложении FB, когда URL-адрес не имеет https или у него есть URL-адрес в URL-адресе. Я просто собираюсь убрать URL-адрес www.php remove www from url

Код ниже добавляет https, если он отсутствует в URL-адресе, но как бы удалить www, а также?

if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == ""){ 
    $redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
    header("HTTP/1.1 301 Moved Permanently"); 
    header("Location: $redirect"); 
} 

ответ

1
if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == ""){ 
    $redirect = str_replace('www.', '', "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); 
    header("HTTP/1.1 301 Moved Permanently"); 
    header("Location: $redirect"); 
} 

простой способ.

+0

Анализировать ошибка: синтаксическая ошибка, неожиданный «; в строке 6 –

+0

Не хватает а) в конце. Я исправил его, и он работает. –

+0

Большое вам спасибо! –

1

Попробуйте сделать это с помощью .htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC] 
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] 
+0

er, которого он искал ... 'https' также – cmorrissey

1

Вот способ сделать это с вашим .htaccess с https

RewriteEngine On 
RewriteCond %{HTTPS} !=on [OR] 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 
  • первой линии превращает ваш RewriteEngine ... On
  • Вторая строка проверяет, есть ли https ... on или
  • третьей строке мы проверяем, если доменное имя начинается с www
  • четвертой строке, если одно из указанных выше условий соответствует переписать домен