我试图了解.htaccess文件中这一行的含义
RewriteRule ([a-z0-9/-]+).html $1.php [NC,L,QSA]
基本上$ 1.php是什么?服务器中的什么文件
如果我们将home.html重定向到哪里? home.php?
最佳答案
$1
是您的正则表达式中第一个捕获的组;即(
和)
之间的内容。如果您的正则表达式中包含第二组括号,则$2
将包含这些括号的内容。这是一个例子:
RewriteRule ([a-z0-9/-]+)-([a-z]+).html$ $1-$2.php [NC,L,QSA]
假设用户导航到
hello-there.html
。他们将被送达hello-there.php
。在您的替换字符串中,$1
包含第一组parens(hello
)的内容,而$2
包含第二组parens(there
)的内容。正则表达式中,替换字符串中总是有与“捕获圆括号”一样多的“美元”值。如果您有嵌套的paren,例如
(([a-z]+)-[a-z]+)
,则$1
总是指最外层的捕获(在本例中为整个正则表达式),$2
是第一个嵌套集,依此类推。关于.htaccess - .htaccess文件中的$ 1是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24922079/