Php 通配符子域和友好URL
这就是我希望对htaccess(或您建议的任何内容)所做的: 我想让用户发布网页,照片,视频,。。。并给他们各自选择一个子域(例如:Php 通配符子域和友好URL,php,.htaccess,mod-rewrite,subdomain,wildcard-subdomain,Php,.htaccess,Mod Rewrite,Subdomain,Wildcard Subdomain,这就是我希望对htaccess(或您建议的任何内容)所做的: 我想让用户发布网页,照片,视频,。。。并给他们各自选择一个子域(例如:john.mysite.com) 下面是一个URL是如何做到的-真的像Tumblr(如果它像Tumblr:,那就太好了) 使用htaccess,我可以通过mysite.com/user.php 然后在user.php中,我可以看到用户正在分析谁HTTP\u主机(获取“whatevertheusernameis”并检查我的数据库),我可以知道阅读请求URI时要显示什么
john.mysite.com
)
下面是一个URL是如何做到的-真的像Tumblr(如果它像Tumblr:,那就太好了)
使用htaccess,我可以通过mysite.com/user.php
然后在user.php
中,我可以看到用户正在分析谁HTTP\u主机
(获取“whatevertheusernameis”并检查我的数据库),我可以知道阅读请求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)提供服务,并使用子域来标识用户数据(照片等)的位置。使用“静态”页面的反向代理是一个好主意。在重写规则中添加一个条件(使用RewriteCond
)以忽略此类请求(不要重写它们)。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ...