我正在嘗試使用 .htaccess 重寫我網站上的 URL,但到目前為止還沒有運氣。我想向 URL 添加哈希并重定向。
我想獲取 URL 中的最后一個檔案并將其重定向到相同的 URL,但在最后一個檔案之前附加一個 # 符號。我想這樣做的原因是為了我的網站,所有內容都是動態加載的,無需重繪 頁面。
例如, www.example.com /foo將變為www.example.com/#foo
或 www.example.com/form/bar.php將變為www.example.com/form/#bar.php
我不介意每頁是否需要一個條目,我嘗試了很多變體,但到目前為止沒有任何效果。
RewriteRule ^(.*)foo(.*)$ $1#foo$2 [R=301,L]
RewriteRule ^(.*)/(.*)$ /$1#$2 [L,R=301,NE]
uj5u.com熱心網友回復:
在您的 .htaccess 中使用這種方式:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*/)([^/] /?)$
RewriteRule ^ %1#%2 [L,NE,R=301]
關于RewriteCond %{REQUEST_URI} ^(.*/)([^/] /?)$:
我們在正則運算式中使用了 2 個捕獲組:
(.*/):匹配最后一個之前的最長匹配/被表示為%1較晚([^/] /?): 匹配 URI 的最后一個組成部分,表示為%2稍后
在目標中,我們使用在 2 個反向參考之間%1#%2放置一個。#
uj5u.com熱心網友回復:
像這樣的東西......
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/* /#$1 [NC]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425154.html
