Php 在htaccess中复制$1,但仍然有效为什么?
我想删除我网站中的Php 在htaccess中复制$1,但仍然有效为什么?,php,.htaccess,web,Php,.htaccess,Web,我想删除我网站中的.php和www。环顾四周,发现重复变量$1 RewriteEngine On RewriteRule ^articles/([a-zA-Z0-9_-]+)-([0-9]+) article.php?id=$2 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC,L] RewriteCond %{HTTP_HOST} !^example.com$ [NC] RewriteRule ^(.*)
.php
和www
。环顾四周,发现重复变量$1
RewriteEngine On
RewriteRule ^articles/([a-zA-Z0-9_-]+)-([0-9]+) article.php?id=$2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
它可以工作,但有人可以向我解释。
$1
和$2
(等等)不是整个文件的变量。相反,它们是对重写规则中捕获组的引用。(捕获组是正则表达式中位于括号中的部分。)重复变量$1
是什么意思?我有2$1 RewriteRule^([^\.]+)$$1.php[NC,L]和这个RewriteRule^(.*)[L,R=301]这是两个不同的、独立的规则。