I am using Cakephp framework 2.2.2.
I want to create a personalized URL for the user. For example, if a user enters username=pragnesh, then they can access my site like: http://pragnesh.mylocalhost.com, same as in blinksale.com
My URL: http://mylocalhost.com/test/users/front_home
I want to access it at: http://test.mylocalhost.com/users/front_home
My URL: http://mylocalhost.com/test/setting/pages
can be accessed at: http://test.mylocalhost.com/setting/pages
any URL: http://mylocalhost.com/test/xxxxx/xxxxx
can be accessed at : http://test.mylocalhost.com/xxxxx/xxxxx
OR
URL: http://mylocalhost.com/users/front_home?site=test
I want to access it at: http://test.mylocalhost.com/users/front_home
My URL: http://mylocalhost.com/setting/pages?site=test
can be accessed at: http://test.mylocalhost.com/setting/pages
any URL: http://mylocalhost.com/xxxxx/xxxxx?site=test
can be accessed at: http://test.mylocalhost.com/xxxxx/xxxxx
My question may be possible duplicate of My cakephp 2.2 site not working on subdomain but there is no answer posted.
I have tried below code in \app\webroot.htaccess
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]
# 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]
but both not working for me.
my root .htaccss file is
<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>
Virtual Host in 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>
HOST FILE
127.0.0.1 mylocalhost.com
127.0.0.1 *.mylocalhost.com
VirtualHost
entry oftest
subdomain from Apache config? – LocketDocumentRoot
needs to be full filesystem path and you need to know exactDocumentRoot
for both root domain andtest
sub domain. – Locketalias
but usingVirtualHost
you can createtest.localhost
andlocalhost
host entries on your local Apache config. – LocketE:/xampp/htdocs/bsale
is commonDocumentRoot
for both main domain and test sub-domain? – LocketE:/xampp/htdocs/bsale
is common DocumentRoot – Korellaif user enter username=pragnesh then they can access my site like http://pragnesh.mylocalhost.com
then I think you're mistaken as subdomain creation cannot happen on-the-fly from rewrite rules. – Locket