编辑文件匹配:得到它的工作,这里的最终版本国防部重写子目录中的
RewriteCond $1 ^(.*?)/(.*)$
RewriteCond apps/%1/content/%2 -F
RewriteRule (.*) apps/%1/content/%2 [QSA,last]
编辑:底部
我有这个原来的问题接近工作,这是在我的mod_rewrite规则
RewriteCond $1 ^(.*?)/(.*)$
RewriteCond %{DOCUMENT_ROOT}/johnsmith/apps/%1/content/%2 -f
RewriteRule (.*) apps/%1/content/%2 [QSA,last]
这将正确路线
http://host/johnsmith/blog/css/style.css
请求
/docroot/johnsmith/apps/blog/content/css/style.css
但是,我需要硬编码到JohnSmith对下JohnSmith对.htaccess文件。是否有可能使用相对路径,如果没有,是否有可用的变量,所以我知道当前的.htaccess目录?
下面
原来的问题比方说,我有/文档根目录的文档根 我有一个CSS文件位于此处将Apache Web应用程序:
/docroot/johnsmith/apps/blog/content/css/style.css
我想要检索与此文件请求
http://host/johnsmith/blog/css/style.css
.htaccess文件必须位于johnsmith文件夹中。以下规则集导致无限重定向循环
RewriteCond ^(.*?)/(.*)$ apps/$1/content/$2 -f
RewriteRule ^(.*?)/(.*)$ apps/$1/content/$2 [QSA,last]
如果我改变它咯,除暴安良的条件,我可以去一个页面是一个简单的PHP脚本打印出来的查询字符串,这表明
RewriteRule ^(.*?)/(.*)$ showquerystring.php?path=apps/$1/content/$2 [QSA,last]
path等于apps/blog/content/css/style.css,这正是我所期望的。
有谁能告诉我我错过了什么吗?
此外,johnsmith文件夹可以命名为任何内容,并且johnsmith中的.htaccess文件不应该硬编码johnsmith。
更简洁地说,我要问的是:
是否有可用的一个变量mod_rewrite的,这将等于/blog/css/style.css
%{DOCUMENT_ROOT} /应用/ $ 1 /内容/ $ 2将不能工作,因为文档根目录为/文档根目录,以便Apache将在/ docroot/apps /中查找。 。 。当文件实际上在/ docroot/johnsmith/apps /中时。 。 。 – Dave
另外,如果它有效地匹配文件,它将不会无限循环。 – Dave