【发布时间】:2013-04-14 20:21:20
【问题描述】:
首先我拥有的已经可以使用了...
在我的服务器上,我使用停放的域,其中每个域都指向同一个目录,并且软件仅在从类似的命名数据库中提取之前确定域是什么。对于文件(图像、脚本等),我目前有以下设置...
public_html/www.example1.com/
public_html/www.example2.com/
public_html/www.example2.com/
...使用以下重写...
RewriteCond %{REQUEST_URI} !\.(gif|jpg|js|mp3|png)$
RewriteRule ^[^/]*/(images|search|scripts|sounds)(.+) $1$2 [QSA]
例如,如果您从 example2.com 请求 image77.png,Apache 会将(内部)请求重写为...
public_html/www.example2.com/images/image77.png
外部路径(在您的浏览器中)将简单地显示为...
http://www.example2.com/images/image77.png
其次,我要解决的问题...
但是,随着我添加更多域,这开始挤满我的 *public_html/* 目录。我要做的只是将所有域资产目录移动到如下所示的目录设置中......
public_html/www/
...所以 www 目录将具有以下列表...
public_html/www/example1.com/
public_html/www/example2.com/
public_html/www/example2.com/
最后,我对如何解决这个问题的想法......
第一个 Apache 变量 $1 是从 %{REQUEST_URI} 生成的。如果我们可以简单地替换句号。在 www 和域名之间,这应该将重写更新为更新的格式,尽管我不确定如何做到这一点并保持现有的工作原理?
换句话说,我们可以创建一个重写条件,用斜杠替换第一个句点吗?
【问题讨论】:
标签: apache mod-rewrite