.htaccess采用文件系统路径
我试图得到一个足够简单的规则:.htaccess采用文件系统路径,.htaccess,.htaccess,我试图得到一个足够简单的规则: 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 但由于某种原因,我一
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未找到的错误
我添加了[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]
那么我做错了什么呢?尝试在规则的目标中添加一个前导斜杠。Apache必须猜测您引用的是文件路径还是URI路径,有时它并没有正确理解
RewriteRule (.*)/t=[0-9]+ /$1
六羟甲基三聚氰胺六甲醚。。。。你不是已经问过这个问题了吗?它神秘地消失了。我确实消失了,但我发现了更多的信息,这使得这个老问题有点无关紧要。至少我们知道你的.stack重写是有效的。