2014-02-22 38 views
2

我用这个.htaccess创建了一个子域;它在我的www.example.com域上工作正常,但不在www.example.pk上。我不明白问题在哪里。如何在重写目录中通过.htaccess创建子域

www.example.com

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^([-a-zA-Z0-9]+)\.example\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/?index\.php$ 
RewriteRule ^(.*)/*([0-9]+)*$ index.php?r=list&source=product&product_get=%1&page_page=$1 [NC,QSA,L] 

www.example.pk

RewriteCond %{HTTP_HOST} !^www\.example\.pk$ [NC] 
RewriteCond %{HTTP_HOST} ^([-a-zA-Z0-9]+)\.example\.pk$ [NC] 
RewriteCond %{REQUEST_URI} !^/?index\.php$ 
RewriteRule ^(.*)/*([0-9]+)*$ index.php?r=list&source=product&product_get=%1&page_page=$1 [NC,QSA,L] 

我创建www.example.com域,那么用的cPanel子域* .example.com的。这是否有必要?

+0

服务器是否听摆在首位的子域(虚拟主机或但是它被配置)? –

+0

当我在www.example.pk域上配置此方法时,此错误出现“问题载入页面”,但在www.example.com域上正常工作;这两个域名托管在同一个托管 – knsmith

+0

oyu可以给我们真实的域名来检查吗? –

回答

0

当您使用子域名时,您需要正确配置DNS以将子域指向您的服务器。 cpanel的子域功能可能已经为你完成了,或者它已经包含了一个通配的cname dns记录。 DNS记录通常被高速缓存,但我不确定这是否也适用于不存在的记录。

该子域是否已经解析到我的服务器?

首先检查您的子域是否已经解析为IP。打开一个终端并键入ping yoursubdomain.example.com(显然你需要用你的实际域替换它)。如果无法解析为IP,那么DNS记录可能存在问题。如果您想要here或其他几个类似的网站,则可以在线执行此操作。

编辑您的DNS

如果你的主机为您提供了手动编辑DNS记录的机会,你需要了解以下内容:

  • 有1个A记录在您的DNS。这就是名字被转换为IP的方式。
  • 任何子域都使用CNAME记录链接到该记录。

您可以添加一个通配符子域(它可以将任何(un)可想象的子域转换为您的站点),也可以添加一个特定的子域到您的dns。您可以通过添加

CNAME (from) *.example.com (to) example.com 

TTL(生存时间)是其他人可以缓存记录的时间。它最多只需要TTL让世界上的每个人都能“注意”你在dns记录中做出的更改。 This site提供了更多关于这方面的信息。

的.htaccess

我不知道你想重写什么样的URL,但也有几件事情你可以改变:

  • %{REQUEST_URI}总是以/开始。在您的情况下,不需要在其后添加?
  • 为了便于阅读,如果使用%1-type-of-backreferences,请将相应的条件直接放在它上面,即使它没有被没有捕获组的其他条件覆盖。
  • ^(.*)/*([0-9]+)*$对我没有多大意义。它匹配每个网址,因为(.*)之后的所有内容都是可选的,并且可以在那里有无限次数。我怀疑这是你想要的。

RewriteCond %{HTTP_HOST} !^www\.example\.pk$ [NC] 
RewriteCond %{REQUEST_URI} !^/index\.php$ 
RewriteCond %{HTTP_HOST} ^([-a-zA-Z0-9]+)\.example\.pk$ [NC] 
RewriteRule ^(.*)/*([0-9]+)*$ index.php?r=list&source=product&product_get=%1&page_page=$1 [NC,QSA,L] 
+0

谢谢你的回答;我不会做通配符子域名;我想要做的.htaccess我已经在我的www.mydomain.com上完成,但是当我尝试申请www.mydomain.pk它不工作;我不知道问题在哪里。你有任何解决方案? – knsmith

+0

你是否按照“子域名已解析到我的服务器?”下的文字?结果是什么? – Sumurai8

+0

没有结果显示你给定的文字 – knsmith