.htaccess rewriteCond 忽略你自己的域

.htaccess rewriteCond that ignores your own domain

如果我在 .htaccess 中有这样的规则:

RewriteCond %{QUERY_STRING} ^URL\=(.+?)(-[0-9]+)?$
RewriteRule ^(.*)$ /index.php? [R=404,L]

我该如何更改它以便忽略 ?URL= 之后来自站点自己的域的任何内容?

例如,my-domain.com?URL=http://porn.site 被重定向,但 my-domain.com?URL=https://my-domain.com/some-page 被忽略。

您可以使用:

RewriteCond %{QUERY_STRING} !^URL\=https?://my-domain.com [NC]
RewriteCond %{QUERY_STRING} ^URL\=(.+?)(-[0-9]+)?$
RewriteRule ^(.*)$ /index.php? [R=404,L]