1

如果正则表达式不匹配,我该如何进行重定向

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^test/(admin)/([A-Z]{2}[0-9]{3})/(xml|json)$    http://localhost/username/index.php?type=$1&id=$2&format=$3  [L]
RewriteRule    ^test/(home|member)/([0-9]+)/(xml|json)$    http://localhost/username/index.php?type=$1&id=$2&format=$3  [L]
RewriteRule    ^test/.*$   http://localhost/username/error.php  [L]

说如果 [AZ]{2}[0-9]{3} 不匹配,我将重定向到 error.php 页面,代码 id 声明无效输入,RewriteRule ^test/.*$ localhost/username/error.php [L] 这将是错误 url 路径的错误。

例子:

如果用户输入 localhost/username/test/admin/TA123/xml 这是有效的如果用户输入 localhost/username/admin/123/xmlll 这将重定向到 error.php 代码说 500 输入错误

如果用户输入 localhost/username/test/guest 这将重定向到 error.php 代码说 501 错误的 url

如果用户输入 localhost/username/test/home/TA123/xml 这将重定向到 error.php 代码说 502 输入错误

4

1 回答 1

2

像这样的东西:

RewriteCond %{REQUEST_URI} ! ^[A-Z]{2}[0-9]{3}$
RewriteRule .* /error.php  [L]

RewriteCond作为后续的守卫RewriteRule

于 2013-02-18T05:58:58.223 回答