我有一个网站在example.com/test/
。假设网站是这样设计的:
example.com
└── test/
├── assets/
│ └─ stylesheet.css
│
├── .htaccess
└── index.php
index.php
这里是路由器,现在这样做显然很酷。
每当用户请求像example.com/test/stylesheet.css
这样的页面时,我都想检查assets/
是否有该文件,如果有,就提供该文件,而不是将URL提供给index.php
。理想情况下,以下内容将起作用:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond assets/%{REQUEST_FILENAME} -f
RewriteRule ^(.+)$ assets/$1
但由于%{REQUEST_FILENAME}
是一条绝对路径,因此assets/%{REQUEST_FILENAME}
的结果类似于assets/home/public/test/stylesheet.css
。%{REQUEST_URI}
没有更好:就变成了assets/test/stylesheet.css
我也看了this question,但答案也不起作用。
有没有什么方法,而不诉诸PHP,做到这一点?(如果没有,我将只使用PHP的readfile
,但我不想担心LFI或其他问题。
2条答案
按热度按时间rur96b6h1#
尝试使用
the %{DOCUMENT_ROOT}
和%{REQUEST_URI}
变量编辑:我明白了,试试这个:
yvgpqqbh2#
我有一个WordPress站点,并试图使用这个文件
wp-content/uploads/.htaccess
从四个备选目录中提供资源:而且成功了