【发布时间】:2012-08-20 09:58:56
【问题描述】:
我有一个网站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 什么的。)
【问题讨论】:
标签: .htaccess mod-rewrite