【发布时间】:2022-01-18 01:49:53
【问题描述】:
我正在尝试重定向任何不以特定模式开头的请求。
例如
mydomain.com/test/one/a
mydomain.com/test/one/b
和
mydomain.com/用户/名称/a
mydomain.com/用户/名称/b
因此,任何与 mydomain.com/test/one 或 mydomain.com/user/name 不匹配的请求都会重定向到某个页面或网址。
到目前为止,我可以匹配以下内容
RewriteCond %{REQUEST_URI} ^(/test/one|/user/name) [NC]
RewriteRule .* - [F]
所以任何以 /test/one 或 /user/name 开头的 url 都可以正确重定向。
但是当我试图 用 ! 否定条件时,它会重定向每个请求!
RewriteCond %{REQUEST_URI} !^(/test/one|/user/name) [NC]
RewriteRule .* - [F]
但我希望所有请求都重定向,除了 REQUEST_URI 具有类似的模式
^(/test/one|/user/name)
【问题讨论】:
标签: apache .htaccess mod-rewrite url-rewriting http-status-code-403