Bon, j'ai réussi tant bien que mal à faire ce que je voulais :
http://www.domaine.com => boutique normale
http://www.domaine.com/collectivite/ => boutique collectivités
http://www.domaine.com/pro/ => boutique pro
Après réflexion, j'aurais préféré avoir :
http://www.domaine.com => boutique normale
http://collectivite.domaine.com => boutique collectivités
http://pro.domaine.com => boutique pro
http://blog.domaine.com => blog (à venir)
Mais je me retrouve coincé au niveau des redirections...
Sur l'admin 1and1, j'ai créé mes sous-domaines :
blog.domaine.com => Espace Web /blog
collectivite.domaine.com => Espace Web /.
pro.domaine.com => Espace Web /.
Dans mon .htaccess à la racine, j'ai mis :
RewriteCond %{HTTP_HOST} !^(www|blog|collectivite|pro).domaine.com$
RewriteRule ^(.*) http://www.domaine.com/$1 [L,R=301]
Pour rediriger, vers le www quand celui-ci n'y est pas et qu'on est pas sur "www", "collectivite", "pro" ou "blog".
Mais... ça marche pas...='(
En fait, si je saisis l'adresse :
- http://pro.domaine.com/une-url.html => ça marche
- http://pro.domaine.com/ => ça redirige vers http://www.domaine.com/
Pareil pour "collectivite" et "blog" (qui pourtant, ce dernier, pointe vers un dossier existant)
Une idée du pourquoi du comment?
Sinon, après il faut que je fasse en sorte que toutes les urls "www", "collectivite" et "pro" renvoie en $_REQUEST['sd'] la bonne valeur => possible ?
Et éviter les doublons de ressources scripts et images entre les divers sous-domaines...
ça à l'air beaucoup plus simple de laisser tout ça en "dossier" qu'en sous-domaine non?
Mon .htaccess au complet :
# MOD_DEFLATE COMPRESSION
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 7200 seconds"
ExpiresByType image/jpg "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
AddType image/x-icon .ico
ExpiresByType image/ico "access plus 2592000 seconds"
ExpiresByType image/icon "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType application/xhtml+xml "access plus 7200 seconds"
ExpiresByType application/javascript A259200
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers
# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\\.(css)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\\.(js)$">
Header set Cache-Control "max-age=2592000, private"
</FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers
# KILL THEM ETAGS
Header unset ETag
FileETag none
Options -Indexes +FollowSymlinks
ErrorDocument 401 /
ErrorDocument 403 http://www.domaine.com/
ErrorDocument 404 /
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^(www|blog|collectivite|pro).domaine.com$
RewriteRule ^(.*) http://www.domaine.com/$0 [L,R=301]
SetEnv SESSION_USE_TRANS_SID 0
##########################
#ANCIENNES PAGES DU SITE
#TRAITEES DANS PLUGIN REWRITEURLS
##########################
##########################
#NOUVELLES PAGES DU SITE
RewriteRule ^pro/$ /index.php?sd=pro [NC,QSA,L]
RewriteRule ^collectivite/$ /index.php?sd=collectivite [NC,QSA,L]
RewriteRule ^pro/(.*)\.html$ /index.php?url=$1.html&sd=pro [NC,QSA,L]
RewriteRule ^collectivite/(.*)\.html$ /index.php?url=$1.html&sd=collectivite [NC,QSA,L]
RewriteRule ^pro/sitemap.xml$ /index.php?url=sitemap.xml&sd=pro [NC,QSA,L]
RewriteRule ^collectivite/sitemap.xml$ /index.php?url=sitemap.xml&sd=collectivite [NC,QSA,L]
RewriteRule ^pro/(.*)$ /$1 [NC,QSA,L]
RewriteRule ^collectivite/(.*)$ /$1 [NC,QSA,L]
##########################
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php?url=$1 [NC,QSA,L]
##########################
</IfModule>