Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
Apache .htaccess如果文件存在重写规则_Apache_.htaccess_Mod Rewrite_Url Rewriting_Apache2 - Fatal编程技术网

Apache .htaccess如果文件存在重写规则

Apache .htaccess如果文件存在重写规则,apache,.htaccess,mod-rewrite,url-rewriting,apache2,Apache,.htaccess,Mod Rewrite,Url Rewriting,Apache2,我发现了几个类似的问题,但似乎我需要你的帮助,因为我无法自己写 我想要这个:(没有123也可以用) 要重写到/folder/file.min.ext(如果存在) 或/folder/file.ext(如果缩小版本不存在) 这是我的css和js文件。。。因此,它将为那些没有精简版本的文件加载非精简版本 我目前有: RewriteRule ^(css|js)/([a-zA-Z_-]+)\.([0-9]+)\.(css|js)$ /$1/$2.min.$4 RewriteRule ^(css|js)/(

我发现了几个类似的问题,但似乎我需要你的帮助,因为我无法自己写

我想要这个:(没有123也可以用)

要重写到/folder/file.min.ext(如果存在)

或/folder/file.ext(如果缩小版本不存在)

这是我的css和js文件。。。因此,它将为那些没有精简版本的文件加载非精简版本

我目前有:

RewriteRule ^(css|js)/([a-zA-Z_-]+)\.([0-9]+)\.(css|js)$ /$1/$2.min.$4
RewriteRule ^(css|js)/([a-zA-Z_-]+)\.(css|js)$ /$1/$2.min.$3

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(css|js)/([a-zA-Z_-]+)\.min\.(css|js)$ /$1/$2.$3

当我删除第二行时,它工作正常。。。但是我需要它在没有数字的情况下也能工作:(

你能不能用这个替换这两条规则

RewriteRule ^(css|js)/([a-zA-Z_-]+)(\.[0-9]+)?\.(css|js)$ /$1/$2.min.$4

根据Jon的回答,这应该可以解决重定向循环问题:

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(css|js)/([a-zA-Z_-]+)(\.[0-9]+)?\.(css|js)$ /$1/$2.min.$4

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(css|js)/([a-zA-Z_-]+)\.min\.(css|js)$ /$1/$2.$3
第一行将阻止在重定向时执行附加的规则

如果您发现任何其他问题或需要进一步调整,请尝试使用RewriteLog和RewriteLogLevel(级别5)调试规则集,并确切了解mod_rewrite正在做什么