2012-06-04 5 views
-3

Даже если в url я пишу «www.», $ _SERVER ['HTTP_HOST'] имеет только domain.com без «www».

Я не могу перенаправить с не-www на www из-за этого. Как исправить эту проблему?

 ["HTTP_HOST"]=> 
     string(8) "ca-fi.ru" 
     ["HTTP_COOKIE"]=> 
     string(120) "d7b6b86aae18e551749a9da9d54f3daf=floar2lr37318dc76ask49bii5; 849c6485c12558d081c065b4d94a566b=d9iqj8s6oqo41kipg3qaefq497" 
     ["HTTP_USER_AGENT"]=> 
     string(99) "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5" 

     ["PATH"]=> 
     string(28) "/usr/local/bin:/usr/bin:/bin" 
     ["SERVER_SIGNATURE"]=> 
     string(69) " 
    Apache/2.2.20 (Ubuntu) Server at ca-fi.ru Port 80 

    " 
     ["SERVER_SOFTWARE"]=> 
     string(22) "Apache/2.2.20 (Ubuntu)" 
     ["SERVER_NAME"]=> 
     string(8) "ca-fi.ru" 
     ["SERVER_ADDR"]=> 
     string(13) "192.168.10.12" 
     ["SERVER_PORT"]=> 
     string(2) "80" 
     ["REMOTE_ADDR"]=> 
     string(12) "192.168.10.1" 
     ["DOCUMENT_ROOT"]=> 
     string(8) "/var/www" 

     ["REQUEST_METHOD"]=> 
     string(3) "GET" 

     ["REQUEST_URI"]=> 
     string(1) "/" 
     ["SCRIPT_NAME"]=> 
     string(10) "/index.php" 
     ["PHP_SELF"]=> 
     string(10) "/index.php" 
     ["REQUEST_TIME"]=> 
     int(1338819407) 
+1

Вы делаете эхо или $ Var = ...; с чем вы показываете нам? –

+1

'$ _SERVER ['HTTP_HOST']' устанавливается с заголовком хоста, который отправляет ваш клиент. Если вы находитесь на 'http: // www.domain.com /', заголовок хоста должен содержать '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'браузер, – CodeCaster

+0

не может добавить var_dump, потому что «у вашего сообщения нет большого контекста для объяснения разделов кода, пожалуйста, объясните свой сценарий более четко». – alhimikst

ответ

2

Если вы просто хотите, чтобы перенаправлять от не-WWW на WWW, я бы рекомендовал не использовать ПГПС header() функцию (который я предполагаю, что вы используете), но использовать mod rewrite.

Создать .htaccess файл в корневой директории со следующим содержанием:

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

нет, это не работает, у меня просто бесконечные переадресации – alhimikst

+0

У вас есть mod_rewrite включен? Вы заменили example.com своим доменным именем? – Jeroen

+0

Да, mod_rewrite включен, а доменное имя верное – alhimikst

Смежные вопросы