通配符子域和友好URL

时间:2011-07-11 20:46:31

标签: php .htaccess mod-rewrite subdomain wildcard-subdomain

这就是我想用htaccess(或你建议的任何东西):

我希望允许用户发布网页,照片,视频......并为每个人提供他们选择的子域名(例如:john.mysite.com)。

以下是一个URL如何-stally 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'并检查我的数据库),我可以知道要显示的内容(照片,视频,新闻,页面......)阅读REQUEST_URI

我希望某些网址如下工作:

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提供,当然,这将无效......

任何人都可以帮助我吗?感谢。

1 个答案:

答案 0 :(得分:0)

您需要做的是在所有其他重写之前添加条件:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ...

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