将子域重写为不存在的子目录

时间:2013-07-16 21:24:17

标签: .htaccess mod-rewrite

使用更好的当前示例进行编辑。

我正在寻找将子域重定向到子目录的最佳方法,这些子目录实际上并不存在作为子文件夹.....

简而言之,我用于网站的脚本允许将地理区域设置为子域.....但每个区域必须有一个独特的子域,我真的不想拥有3级子域(状态我的地区和我的利基市场中的“大男孩”都选择使用单个子目录(如/邻居城市,州/),所以我正在寻找将子域名指向子目录的最佳方式,尽管它们实际上并不存在......

我目前在htaccess中将其作为重写:

RewriteRule ^/?([0-9]+)/([^./\\"'?#]+)\.html$  index.php?a=5&b=$1 [QSA,L] ##category

重写为url:mydomain / cat#/ catname.html

我希望URL /链接在/ catname /之后添加这个不存在的“region”subdomain-as-subdirectory但不确定如何修改此重写,以便不使用:

subdomain.mydomain/cat#/catname.html 

我会:

mydomain/cat#/catname/subdomain(value).html

1 个答案:

答案 0 :(得分:2)

未找到错误是正常的,因为您将子域重定向到非重新创建的非实现目录。除了重定向之外,您还必须重写这些目录,以便服务器知道它可以在哪里找到真实文件。所以,试试这段代码:

RewriteEngine On
RewriteRule ^([^/]+)/(.*)$ http://$1.domain.com/$2 [L]

当然,你必须改变这条道路。