通配符子域和友好url


Wildcard subdomains and friendly URLs

这就是我想做的与htaccess(或任何你建议):

我想让用户发布页面,照片,视频,…并给他们每个选择的子域(例如:john.mysite.com)。

URL可以是这样的-真的像Tumblr一样(如果它能像Tumblr一样工作就太好了:)-

john.mysite.com/photos
john.mysite.com/photos/album/123456789
john.mysite.com/news/123456789
john.mysite.com/news/category/123456789

使用htaccess我可以使whatevertheusernameis.mysite.commysite.com/user.php服务然后在user.php中,我可以看到用户正在分析HTTP_HOST(获得'whatevertheusernameis'并检查我的DB),我可以知道要显示什么(照片,视频,新闻,页面,…)阅读REQUEST_URI

我希望某些URL工作如下:

john.mysite.com/ajax/ajax.php    ->    mysite.com/ajax/ajax.php
john.mysite.com/images/img.png   ->    mysite.com/images/img.png

但是,如果,例如,我在john.mysite.com/photos/album/123456789/,这将作为john.mysite.com/photos/album/123456789/ajax/ajax.php,当然,不会工作…

有谁能帮帮我吗?谢谢。

你所要做的就是在所有其他重写之前添加一个条件:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ...

这些指令将告诉Apache始终提供实际文件(f),目录(d)和符号链接(l),并使用子域来识别用户数据(照片等)的位置。