Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess采用文件系统路径_.htaccess - Fatal编程技术网

.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重写是有效的。