Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/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
Performance Apache重写规则:哪一个性能最好:^(.+;)vs(.*)和^.*$vs.*$?有什么区别吗?_Performance_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Performance Apache重写规则:哪一个性能最好:^(.+;)vs(.*)和^.*$vs.*$?有什么区别吗?

Performance Apache重写规则:哪一个性能最好:^(.+;)vs(.*)和^.*$vs.*$?有什么区别吗?,performance,apache,.htaccess,mod-rewrite,Performance,Apache,.htaccess,Mod Rewrite,^(+)和(.*)之间有什么不同吗 在^.*$和.*$之间 RewriteCond %{QUERY_STRING} ^id=(.*)$ RewriteRule ^.*$ %{REQUEST_URI}%1? [R=301,L] RewriteRule .*$ %{REQUEST_URI}%1? [R=301,L] 哪一个具有最好的Apache.htaccess性能?它们甚至不相等。第一个变体要求在开头至少有一个字符,另一个也与单斜杠匹配。抱歉,我对这些正则表达式了解不够,无法对性能进行猜测,但尽

^(+)
(.*)
之间有什么不同吗

^.*$
.*$
之间

RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^.*$ %{REQUEST_URI}%1? [R=301,L]
RewriteRule .*$ %{REQUEST_URI}%1? [R=301,L]

哪一个具有最好的Apache.htaccess性能?

它们甚至不相等。第一个变体要求在开头至少有一个字符,另一个也与单斜杠匹配。抱歉,我对这些正则表达式了解不够,无法对性能进行猜测,但尽管存在差异,它们应该是相等的

感谢您的尝试,不幸的是,
RewriteRule/$/$1[R=301,L]
不起作用。好的,我从答案中删除了我的错误建议。但至少关于语句质量不高的说法应该成立。顺便说一句,如果你的意思是
RewriteRule(.*)/$/$1[R=301,L]
确实从domain.com//重定向到domain.com/,那么你错了。它可以使用一些值,比如domain.com/url/重定向到domain.com/url,比如
^(.+)/$
RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^.*$ %{REQUEST_URI}%1? [R=301,L]
RewriteRule .*$ %{REQUEST_URI}%1? [R=301,L]