我想在Wordpress中重写这些网址:
http://localhost/one/.../
http://localhost/one/...
使用以下代码:
add_rewrite_tag('%my_test%','([^/]*)');
add_rewrite_rule(
'^one/([^/]*)/?',
'index.php?page_id=0&my_test=$matches[1]',
'top'
);
虽然有效,但它也允许使用以下网址:
http://localhost/one/.../...
http://localhost/one/.../.../...
如何仅重写/one/.../
和/one/...
网址并为/one/.../.../
等返回404?
答案 0 :(得分:2)
'^one/([^/]*)/?',
匹配/one/.../
和/one/...
以及/one/(nothing)
。 Hovewer之外的任何东西都会被忽略,因为正则表达式没有被终止。您需要将$
添加到最后。如果您不想匹配*
,则可能希望将+
替换为/one/(nothing)
。因此,'^one/([^/]+)/?$',
应该有用。