1
我有一个情况,我有几个客户端,其中每一个我想能够通过mydomain.com/clientname访问他们的网站。为了保持组织性,我将客户站点的实际文件存储在/ client/clientname中。国防部重写目录检查
RewriteRule ^client1(.*)$ /client/client1$1 [L]
RewriteRule ^client2(.*)$ /client/client2$1 [L]
等
我试图做到这一点更清洁的方式,通过在客户端目录检查:我可以把很多很多这些线在我的.htaccess达到预期的效果存在于/客户端或不在。 (如果我确定它不是一个有效的文件或目录)。但由于某种原因,这似乎不工作:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond /client/%{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ /client/$1 [L,QSA]
我错过了什么?
它:
您可以按如下更正!谢谢。不幸的是,我很清楚这不会那么容易。由于我认为像/客户端/订单(这不是一个目录),如果我想检查一个目录,我需要对请求URI做一些棘手的事情 – 2011-05-24 18:50:29
@epalla我不知道我是否明白了,你可以尝试RewriteCond%{DOCUMENT_ROOT}/client%{REQUEST_URI} -f(而不是-d)。 – 2011-05-24 21:15:56
我在这里创建了一个后续问题:http://stackoverflow.com/questions/6115775/rewrite-condition-to-compare-top-level-directory-from-request-uri – 2011-05-24 22:04:33