farroh Asked: 2021-11-02 05:41:24 +0800 CST2021-11-02 05:41:24 +0800 CST 2021-11-02 05:41:24 +0800 CST htaccess 匹配所有单词直到最后一个斜杠并重定向 301 772 我试图逃避一切,直到最后一个斜线,即使中间有一个斜线。例子: /site_url/courses/cat1/cat2/subcat/coursename 至 /site_url/course/courseName 或者 /site_url/course/courseName 我如何使用 Nginx 或 Apache 实现这一点? .htaccess nginx regex apache2 1 个回答 Voted Best Answer MrWhite 2021-11-02T08:17:36+08:002021-11-02T08:17:36+08:00 如果通过“转义”,您的意思是“删除”(如在您的示例中),那么您可以在 Apache 配置(或.htaccess)文件中执行以下操作: RedirectMatch 301 ^(?!/site_url/course/).+/([^/.]+)$ /site_url/course/$1 否定的前瞻(即。(?!/site_url/course/))确保重定向的请求也不会被重定向(这将导致重定向循环)。 这是假设您尚未使用 mod_rewrite。 这显然不会对任何字母进行大写,因为您的示例似乎从/coursenameto 开始/courseName,这不是可识别的模式(除非这是文字文本?!)。 使用 302(临时)重定向进行测试以避免潜在的缓存问题。
如果通过“转义”,您的意思是“删除”(如在您的示例中),那么您可以在 Apache 配置(或
.htaccess
)文件中执行以下操作:否定的前瞻(即。
(?!/site_url/course/)
)确保重定向的请求也不会被重定向(这将导致重定向循环)。这是假设您尚未使用 mod_rewrite。
这显然不会对任何字母进行大写,因为您的示例似乎从
/coursename
to 开始/courseName
,这不是可识别的模式(除非这是文字文本?!)。使用 302(临时)重定向进行测试以避免潜在的缓存问题。