2014-04-30 2 views
0

J'essaye de forcer WWW. dans mon nom de domaine, mais en utilisant PHP vs HTACCESS comme je l'ai ci-dessous. Y a-t-il des problèmes avec PHP et HTACCESS? Quelqu'un at-il un code sur la façon de mettre en place dans le meilleur manoir possible?Meilleure façon de forcer WWW avec PHP et non HTACCESS

#for all requests on mydomain.com 
RewriteCond %{HTTP_HOST} mydomain\.ca$ [NC] 
#if they are not for the www.mydomain.com 
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ca$ [NC] 
#301 redirect to www.mydomain.com 
RewriteRule (.*) http://www.mydomain.ca/$1 [R=301,L] 

Répondre

3

Pour l'application www dans votre URL, si possible .htaccess devrait être votre choix. Cela vous donnera de meilleures performances !! Quoi qu'il en soit, si vous voulez vraiment utiliser le code php pour cela, vous pouvez utiliser code suivant:

if ((strpos($_SERVER['HTTP_HOST'], 'www.') === false)) 
{ 
    header('Location: http://www.'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); 
    exit(); 
} 

Pour plus de code générique .htaccess redirect serait

RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

est ici la référence

  1. htaccess
  2. PHP redirect
+0

C'était exactement ce que je cherchais. Le générique HTACCESS, ça marche encore mieux ... merci. – Justin

1

Est-ce ce que vous cherchez?

$domain= $_SERVER["SERVER_NAME"]; 
$uri=$_SERVER["REQUEST_URI"]; 
if($domain == "example.com"){ 
    header("Location: www.example.com$uri"); 
} 
Questions connexes