如果找到.php文件扩展名,我需要将活动站点上的所有流量重定向到没有.php文件扩展名的同一URL。 但是,由于这是一个wordpress网站,我需要排除wp-login.php以及在包含wp-admin/*的URL中找到的任何.php扩展名。
我如何通过正则表达式完成此操作:
目前,这匹配所有.php文件扩展名(.*).php /$1
但是如何排除 wp-login.php以及每当 url 包含 wp-admin 并以 .php 扩展名结尾时?
这是我尝试排除wp-login.php的方法,但不起作用,只是不确定如何做到这一点:(/)(^[wp-login])?(.*).php /$1
如何正确地做到这一点? 并且还排除 url 中的 wp-admin 文件夹,其中包含任何以 .php 结尾的字符串?
例如:
/testing.php - Needs to Match
/wp-login.php - Should not Match
/wp-admin/edit-post.php - Should not Match
/wp-admin/tools.php?page=testing.php - Should not Match
/product/category/testing.php - Should Match
这是您需要的正则表达式:
^/(?!wp-login|wp-admin).*.php$
在此处查看结果 https://regex101.com/r/f4GWDB/2/
/testing.php MATCH
/wp-login.php X
/wp-admin/edit-post.php X
/wp-admin/tools.php?page=testing.php X
/product/category/testing.php MATCH
您可以使用以下正则表达式:
^/((?!(wp-login|wp-admin)).*).php$
您可以在此处查看正则表达式的验证
/testing.php - matches
/wp-login.php - does not match
/wp-admin/edit-post.php - does not match
/wp-admin/tools.php?page=testing.php - does not match
/product/category/testing.php - matches