.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]