Apache-2.4
Apache Rewrite 重定向除特定頁面之外的所有頁面
我正在停用一個網站,並希望在有人嘗試訪問該網站上的任何頁面時顯示一條消息,除了幾個頁面。有些頁面有特定的 pageid 參數。所以基本上一切都應該重定向到
/retired
除了:
/testcode.jsp
/search/*
/codes/*
/resources/blogs/*
/status/*
/wiki/article?pageid=178973-ghgh-98089
/wiki/article?pageid=354973-aaaa-80879
/wiki/article?pageid=334224-sada-20293
/wiki/article?pageid=546665-qasq-34491
看起來您想利用 Apache 的 RewriteCond 指令根據模式匹配有條件地重定向請求,如下所示:
RewriteCond "%{REQUEST_URI}" "! /testcode.jsp" [OR] RewriteCond "%{REQUEST_URI}" "! /search/*" [OR] {ditto for your other requirements...} RewriteRule .* /retired [R,L]
這應該明確允許您的正則表達式模式中的任何內容通過,同時重定向其他所有內容。另請參閱https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewritecond了解更多詳情。