[英]Apache RedirectMatch with Regex
我試圖將每個沒有#
URL 重定向到相同的 URL,但在/path/
之后帶有#
。
示例:
這個網址: https://www.example.com/path/test/test
: https://www.example.com/path/test/test
需要重定向到這個網址: https://www.example.com/path/#/test/test
: https://www.example.com/path/#/test/test
所以我寫了這個重定向匹配:
RedirectMatch permanent ^/path/(?!#)(.*)$ /path/#/$2
但它不起作用。
瀏覽器向我顯示此消息: ERR_TOO_MANY_REDIRECTS
您可以在站點根目錄 .htaccess 中使用此規則:
RewriteEngine On
RewriteRule ^/?(path)/(.+)$ /$1/#/$2 [L,NE,NC,R=301]
它會將/path/test/test
重定向到/path/#test/test
。
無需在RewriteRule
檢查#
是否存在,因為客戶端瀏覽器無論如何都不會將#
之后的任何部分發送到 Web 服務器。
你可以試試這個:
RedirectMatch ^/path/([^#]+)$ /path/#/$1
捕獲的組([^#]+)
表示任何字符串,最少 1 個字符,不包含#
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.