2012-07-24 65 views
2

你好,我在我的網站上有一個錨點。通過調用我的網站的網址爲:mod_rewrite rewriterule?

http://site.com/page.php 

通過點擊一個按鈕,鏈接將顯示,我想隱藏的網址:

http://site.com/page.php#1 

現在我已經發現我可以改變這個通過使用mod_rewrite工具。我想這個規則沒有成功:

RewriteEngine敘述在

RewriteCond %{REQUEST_URI} ^(.*)\.html$ 
RewriteRule ^.*\.html$ %1.php [L] 

調用的頁面HTML或PHP和隱藏.PHP背後的#1

RewriteRule ^(.*)$ ./php#1=php$1 

我真的很希望如果有是誰可以給我建議如何解決這個問題。非常感謝。

回答

0

哈希標籤永遠不會發送到服務器,因此您根本無法創建基於它的規則。

1

你不能通過mod_rewrite實現這一點。

#之後的URL不通過服務器。

如果你還是想做到這一點,你可能想看看通過JavaScript這樣做:

<a href="#checkthisout" onclick="scrollHere">Check this out</a> 

的JavaScript:

function scrollHere() { 
    // Scroll to the anchor 
    //(you may need to look for some script to achieve this) 

    return false; // to prevent URL overwriting 
} 

一個這樣的劇本是這樣的jQuery.scrollTo

+0

好檢查指標,由於至今。有沒有辦法實現這一點?並且有可能只是調用一個頁面而不像http://site.com/page那樣結束?謝謝 – bonny 2012-07-24 11:00:29

+0

增加了一個JavaScript方法 – uzyn 2012-07-24 11:01:21

+0

看看其中的一個JS庫(Jquery等)。他們通常會提供一些功能,幫助您處理標籤。 – KingCrunch 2012-07-24 11:02:08

0

你可以這樣做來刪除#標籤。

<a href="javascript:void(0);">Your text</a>. 

所以,當你寫「javascript:void(0);」在標籤的href屬性和多數民衆贊成它。

+0

好的,這應該如何作爲主播? – bonny 2012-07-24 11:39:39

+0

您可以調用Javascript函數來代替'javascript:void(0);'並在那裏你可以做這樣的事情。$ .post(your_url, function(data){ // alert(data); }); – 2012-07-24 12:19:03

0

HTML

<a href='page'>Home Page</a> 

<a href='page/1'>Page 1</a> 
<a href='page/2'>Page 2</a> 
<a href='page/3'>Page 3</a> 

改寫爲

RewriteRule ^$ page.php [L] 
RewriteRule ^([a-z]+)/?([0-9]*)/?$ page.php?index=$2 [L] 

自PHP

<?php 
if (isset($_GET['index'])) 
{ 
     $pageNo =$_GET['index']; 
} 
//based on page NO display contents 

?>