目前我有這樣的:htaccess的重定向到正確的錨定,但不會重命名
RewriteRule ^Skills$ http://mypage/resume.php#Skills [NE,NC,L]
時,我有哪些URL重定向正確的錨鏈接:http://mypage/Skills.
然而,在瀏覽器的URL顯示實際錨鏈接:http://mysite/resume.php#Skills
而不是告訴我http://mysite.com/Skills
如何重定向和重寫url?
目前我有這樣的:htaccess的重定向到正確的錨定,但不會重命名
RewriteRule ^Skills$ http://mypage/resume.php#Skills [NE,NC,L]
時,我有哪些URL重定向正確的錨鏈接:http://mypage/Skills.
然而,在瀏覽器的URL顯示實際錨鏈接:http://mysite/resume.php#Skills
而不是告訴我http://mysite.com/Skills
如何重定向和重寫url?
它重定向瀏覽器,因爲您的RewriteRule
目標前有http://mypage
。這會自動告訴你想要302重定向的重寫引擎,這樣瀏覽器的地址欄就會被改變。然而,這裏的問題是,如果你刪除它,以至於它只是/resume.php#Skills
,它會在內部重寫請求(保留瀏覽器地址欄中的內容),但片段(#Skills)將毫無用處。
在客戶端使用片段來告訴它以某種方式處理它請求的內容,通常是將頁面分頁到存在命名錨的地方。如果瀏覽器沒有看到#Skills
,它將不會翻頁到名爲anchor的「技能」。如果您沒有重定向,瀏覽器將無法看到該片段,因爲它正在由服務器進行內部處理,並且服務器將忽略該片段。
可能有某種javascript解決方案告訴瀏覽器它剛剛加載的內容http://mypage/resume.php
需要分頁到某個指定的錨點。它可能能夠通過查看瀏覽器的地址欄,看到它正在請求/Skills
,並onload()它頁面到Skills
錨點。