制作像链接这样的动态子域的解决方案是什么

时间:2012-03-08 07:14:01

标签: magento subdomain

我有一个用Magento建造的购物中心网站。网址就像http://exampleshopping.com 现在我要求我的每个用户都有一个如下所示的虚荣URL -

http://abc.exampleshopping.com
http://xyz.exampleshopping.com

在上面的示例abc中,xyz是用户名。

如果不从控制面板创建子域,这怎么可能。我需要在用户注册时自动创建它。

3 个答案:

答案 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

参考:http://www.panolee.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正则表达式网址重写将适合您。