Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通配符子域和友好URL_Php_.htaccess_Mod Rewrite_Subdomain_Wildcard Subdomain - Fatal编程技术网

Php 通配符子域和友好URL

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时要显示什么

这就是我希望对htaccess(或您建议的任何内容)所做的:

我想让用户发布网页,照片,视频,。。。并给他们各自选择一个子域(例如:
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 ...