-3

URLに「www。」と書いたとしても、$ _SERVER['HTTP_HOST']には「www」のないdomain.comしかありません。

このため、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)
4

1 に答える 1

2

www以外からwwwにリダイレクトしたいだけの場合は、PHPのheader()関数(使用していると思います)を使用せずに、 modrewriteを使用することをお勧めします。

.htaccessルートディレクトリに次の内容のファイルを作成します。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 
于 2012-06-04T14:14:17.287 に答える