我试图得到一个足够简单的规则来工作:
Input URL: http://example.com/css/styles.css/t=123456
Expected output: http://example.com/css/styles.css
代表文件的t=123456
修改时间,在服务器端自动添加。目前,它是一个查询字符串,但显然在某些情况下不能正确缓存,所以我想在 url 中对其进行编码。
我尝试的规则很简单:
RewriteRule (.*)/t=[0-9]+ $1
但由于某种原因,我不断收到 404 Not Found 错误。
我添加[R=301]
以查看重写的去向,出于某种原因,我发现这是输出 URL:
http://example.com/home/evilzoro/public_html/css/styles.css
因此,虽然它正确地剥离了参数,但它正在添加整个文件系统路径!
奇怪的是,其他类似的规则工作得很好,比如这个:
RewriteCond %{REQUEST_FILENAME} !\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [QSA]
那么我做错了什么?