Я использую Cakephp framework 2.2.2.URL Rewrite create subdomain in cakephp
Я хочу создать персонализированный URL-адрес для пользователя. Например, если пользователь вводит имя пользователя = pragnesh, то они могут получить доступ к своему сайту, как: http://pragnesh.mylocalhost.com, так же, как и в blinksale.com
Мой URL: http://mylocalhost.com/test/users/front_home
Я хочу доступ к нему по адресу: http://test.mylocalhost.com/users/front_home
Мой URL: http://mylocalhost.com/test/setting/pages можно получить по адресу: http://test.mylocalhost.com/setting/pages
любой URL: http://mylocalhost.com/test/xxxxx/xxxxx
можно получить по адресу: http://test.mylocalhost.com/xxxxx/xxxxx
ИЛИ
URL: http://mylocalhost.com/users/front_home?site=test
Я хочу получить к нему доступ по адресу: http://test.mylocalhost.com/users/front_home
Мой URL: http://mylocalhost.com/setting/pages?site=test
можно получить по адресу: http://test.mylocalhost.com/setting/pages
любой URL: http://mylocalhost.com/xxxxx/xxxxx?site=test
можно получить по адресу: http://test.mylocalhost.com/xxxxx/xxxxx
Мой вопрос может быть возможно дубликат My cakephp 2.2 site not working on subdomain , но нет ответа вывешенным.
Я попытался ниже код в \ приложение \ 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]
но и не работает для меня.
мой корень.htaccss файл
<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>
\ приложение \ webroot.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
виртуального хоста в 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
Что такое DocumentRoot вашего тестового субдомена? Можете ли вы также опубликовать запись 'VirtualHost' субдомена' test' из конфигурации Apache? – anubhava
document root - mylocalhost, у меня нет доступа к файлам хостинга. –
'DocumentRoot' должен быть полным файловым путем, и вам нужно знать точный' DocumentRoot' для домена root и 'test'. – anubhava