我有一个用Magento建造的购物中心网站。网址就像http://exampleshopping.com 现在我要求我的每个用户都有一个如下所示的虚荣URL -
http://abc.exampleshopping.com
http://xyz.exampleshopping.com
在上面的示例abc中,xyz是用户名。
如果不从控制面板创建子域,这怎么可能。我需要在用户注册时自动创建它。
答案 0 :(得分:1)
使用以下代码创建.htaccess文件,以构建动态用户名作为子域。
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.exampleshopping\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.exampleshopping\.com [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?username=%1 [L]
对http://username.exampleshopping.com的所有访问都将重定向到www.exampleshopping.com/userpage.php?username=subdomain。用户只能在地址栏中看到http://username.exampleshopping.com。
答案 1 :(得分:1)
在主.htaccess文件(对于www子域)中或在Apache Vhost配置中使用以下代码。
替换sonassi.com和适合的路径。
RewriteEngine On
RewriteCond %{HTTP_HOST} !www\.sonassi\.com
RewriteCond %{HTTP_HOST} ([^\.]+)\.sonassi\.com [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?user=%1$1 [L]
您还需要创建通配符DNS A记录,如果您使用的是cPanel,则可以使用
*.sonassi.com => my.ip.add.ress
或者,如果您使用的是TinyDNS - 请使用以下语法
+*.sonassi.com:my.ip.add.ress:86400
答案 2 :(得分:0)
使用htaccess正则表达式网址重写将适合您。