更改为新服务器并转移我的域后,我的.htaccess
文件似乎已被cPanel更改,我不知道为什么。
例如,曾经看起来像这样:
# Route everything via index.php
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
已更改为:
RewriteBase /
RewriteCond %{REQUEST_URI} !^/[0-9]+..+.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/[0-9]+..+.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}.txt(?: Comodo DCV)?$
RewriteRule . /index.php [L]
我也不知道为什么!我不擅长.htaccess
文件,所以谁能解释一下这些更改的作用?
您的每个规则都添加了两个条件,以排除某些 URL 不被它们处理。如下:
RewriteCond %{REQUEST_URI} !^/[0-9]+..+.cpaneldcv$
该格式的任何 URL /
后跟一个或多个数字,然后是一个句点.
,然后是一个或多个任何内容,后跟 .cpaneldcv
。
所以最明显的部分是最后一个,并且会限制它的影响很大,只以.cpaneldcv
结尾。
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}.txt(?: Comodo DCV)?$
这个/
后跟正好 32 个字符,是数字或大写字母 A 到 F,后跟 .txt
.(可选(可以后跟 Comodo DCV
,这很奇怪,因为 URL 不包含空格。
因此,它所做的只是阻止您的规则影响这些规则。相当无害。