J'utilise le framework Cakephp 2.2.2
Je veux créer une URL personnalisée pour l'utilisateur si l'utilisateur saisit nom d'utilisateur = pragnesh, il pourra accéder à mon site comme http://pragnesh.mylocalhost.com identique à celui de blinksale.com
Mon URL http://mylocalhost.com/test/users/front_home
Je veux y accéder en tant que http://test.mylocalhost.com/users/front_home
Mon URL: http://mylocalhost.com/test/setting/pages
peut être accessible en tant que: http://test.mylocalhost.com/setting/pages
n'importe quelle URL: http://mylocalhost.com/test/xxxxx/xxxxx
peut être accessible en tant que: http://test.mylocalhost.com/xxxxx/xxxxx
OU
URL http://mylocalhost.com/users/front_home?site=test
Je veux y accéder en tant que http://test.mylocalhost.com/users/front_home
Mon URL: http://mylocalhost.com/setting/pages?site=test
peut être accessible en tant que: http://test.mylocalhost.com/setting/pages
n'importe quelle URL: http://mylocalhost.com/xxxxx/xxxxx?site=test
peut être accessible en tant que: http://test.mylocalhost.com/xxxxx/xxxxx
Ma question peut être une copie de https://stackoverflow.com/questions/20328636/my-cakephp-2-2-site-not-working-on-subdomain mais il n'y a pas de réponse postée
J'ai essayé ci-dessous le code dans \app\webroot.htaccess
https://stackoverflow.com/questions/5649890/htaccess-subdomai-part-2
RewriteCond %{QUERY_STRING} !^([^&]*&)*site=[^&]+
RewriteCond %{HTTP_Host} !^www\.mylocalhost.com
RewriteCond %{HTTP_Host} ([a-zA-Z0-9]+)\.mylocalhost.com
RewriteRule ^([^\.]*).php$ /$1.php?user=%1 [QSA,L,R]
https://stackoverflow.com/questions/25938781/url-rewrite-for-subdomain
# capture first part of Host name
RewriteCond %{HTTP_Host} ^([^.]+)\.mylocalhost\.com$ [NC]
# make sure site= query parameter isn't there
RewriteCond %{QUERY_STRING} !(^|&)site= [NC]
# rewrite to current URI?site=backererence #1 from Host name
RewriteRule ^ %{REQUEST_URI}?site=%1 [L,QSA]
mais les deux ne travaillent pas pour moi.
mon fichier .htaccss racine est
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
\ app.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
\ app\webroot.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
Hôte virtuel dans httpd.conf
<VirtualHost *:80>
DocumentRoot "E:/xampp/htdocs/bsale"
ServerName mylocalhost.com
ServerAlias *.mylocalhost.com
<Directory "C:/xampp/htdocs/bsale">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
FILE de l'hôte
127.0.0.1 mylocalhost.com
127.0.0.1 *.mylocalhost.com
Ce que vous essayez de faire serait plus facile au niveau de l’application au lieu du niveau .hhtaccess. Ce que vous pouvez faire est de créer une seule application hébergée sur le serveur et chaque utilisateur a un enregistrement DNS dirigé vers cette application ...
exemple: l'application est hébergée sur le serveur 1.1.1.1.
La configuration DNS est ...
app-server IN A 1.1.1.1
user1 IN CNAME app-server.domain.com
user2 IN CNAME app-server.domain.com
user2 IN CNAME app-server.domain.com
Cela permet de pointer tous les enregistrements DNS vers votre application. Dans votre application, vous détectez simplement le nom de domaine à l'aide de la fonction native dans la langue de votre choix. Le nom de domaine est ensuite renvoyé et votre application le gère comme vous le souhaitez. C’est ainsi que la plupart des systèmes dont vous parlez sont configurés et minimise les exigences de configuration car il vous suffit d’ajouter un nouvel enregistrement DNS chaque fois qu'un nouvel utilisateur est créé au lieu de devoir ajouter un nouvel enregistrement DNS ainsi qu’une nouvelle configuration vhost. seulement pour héberger un fichier htaccess. De plus, les réécritures d'URL dans Apache ne fonctionnent pas entre les domaines et serviront plutôt de redirection plutôt que de réécriture.