2012-02-22 67 views
1

我想创建一个.htaccess文件,会做这样的逻辑:mod_rewrite的父目录

如果被请求的文件中找不到尝试找到它上面的目录 。

我不想重定向浏览器我只想在内部重写请求。

我尝试过并搜索了很多,但总是陷入困境,因为(我从日志中收集到)我可以重写的地方,路径始终没有每个目录前缀。在下面的例子中,.htaccess文件位于lang文件夹中。如果没有找到lang特定文件,它应该从父文件夹中取出该文件。我知道可以通过对父目录进行硬编码或将.htaccess设置得更高来实现,但是现在我已经忍受了这么长时间的尝试,我会非常感兴趣地了解这种方式是否可行。

strip per-dir prefix: X:/localhost/htdocs/peopletest/public/img/root_cli/lang/en/loginhead.gif -> en/loginhead.gif 
applying pattern 'somePattern' to uri 'en/loginhead.gif' 

感谢您的帮助。

SWK

回答

1

是这样的吗?

RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-f 
RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-l 
RewriteRule /[^/+]/([^/]+)$ $1