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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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_Mod Rewrite_Url Rewriting_Rewrite - Fatal编程技术网

.htaccess 压缩模重写

.htaccess 压缩模重写,.htaccess,mod-rewrite,url-rewriting,rewrite,.htaccess,Mod Rewrite,Url Rewriting,Rewrite,有没有办法把它浓缩成一行: RewriteRule \.html+(.*)$ index.php?$1 [L] RewriteRule \.htm+(.*)$ index.php?$1 [L] 我试过: RewriteRule \.(html|htm)+(.*)$ index.php?$1 [L] 但它没有达到预期的效果。基本上,我想检查.html和.htm扩展名是否是url的一部分 谢谢你为什么在那里有加号?应该是这样的: RewriteRule \.html(.*)$ index.php

有没有办法把它浓缩成一行:

RewriteRule \.html+(.*)$ index.php?$1 [L]
RewriteRule \.htm+(.*)$ index.php?$1 [L]
我试过:

RewriteRule \.(html|htm)+(.*)$ index.php?$1 [L]
但它没有达到预期的效果。基本上,我想检查.html和.htm扩展名是否是url的一部分


谢谢

你为什么在那里有加号?应该是这样的:

RewriteRule \.html(.*)$ index.php?$1 [L]
RewriteRule \.htm(.*)$ index.php?$1 [L]
并浓缩:

RewriteRule \.html?(.*)$ index.php?$1 [L]
或:


太好了,谢谢。我不知道+符号是什么意思!重写不是我的强项。它是针对前一个字符或字符块的1..n次重复,例如ab+匹配ab、aba、abba、(htm)+匹配htm、htmhtm等。但在您的示例中,它没有意义,因此我将其删除。谢谢Thomas。你能推荐一个学习重写语法的好地方吗?请看apachedoc-mod_rewrite()。但是,如果您指的是正则表达式的语法,只需看看PCRE-perl兼容的正则表达式即可。请参阅linux、PHP文档或google上的
man perlre
RewriteRule \.(html|htm)(.*)$ index.php?$1 [L]