Nginx
htaccess 匹配所有單詞直到最後一個斜杠並重定向 301
我試圖逃避一切,直到最後一個斜線,即使中間有一個斜線。例子:
/site_url/courses/cat1/cat2/subcat/coursename
到
/site_url/course/courseName
或者
/site_url/course/courseName
我如何使用 Nginx 或 Apache 實現這一點?
如果通過“轉義”,您的意思是“刪除”(如在您的範例中),那麼您可以在 Apache 配置(或
.htaccess
)文件中執行以下操作:RedirectMatch 301 ^(?!/site_url/course/).+/([^/.]+)$ /site_url/course/$1
否定的前瞻(即。
(?!/site_url/course/)
)確保重定向的請求也不會被重定向(這將導致重定向循環)。這是假設您尚未使用 mod_rewrite。
這顯然不會對任何字母進行大寫,因為您的範例似乎從
/coursename
to 開始/courseName
,這不是可辨識的模式(除非這是文字文本?!)。使用 302(臨時)重定向進行測試以避免潛在的記憶體問題。