0

Here is my problem:

I want to hide the parameters in url, so any page only can display www.website.com

I added a frameset for the index.php page,

it's perfect when user click any link in this page,

but if user open a link by right click -> open in new tab or window,

the whole URL with parameters will be shown,

any idea to prevent when user open a page in frameset by open in new tab?

4

2 に答える 2

1

通常、これを行うには、このように動作するようにサーバーをセットアップする必要があります。これは一般に URI または「Pretty URI」と呼ばれます。これは、RESTful な感覚でアプリを設計する際の重要な要素でもあります。

サーバー構成にアクセスでき、LAMP スタックを実行している場合は、.htaccess ファイルを使用してこれを実現できます。ただし、残りのリクエストを処理するには、サーバー側のスクリプトが必要です。

拡張子とクエリを削除する .htaccess ファイルの例を次に示します。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)*[^.#?\ ]+\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(([^/]+/)*[^.]+)\.php /$1 [R=301,L]

ただし、正確な URI のhttp://phpmaster.com/rest-can-you-do-more-than-spell-it-1/が絶対に必要な場合は、とにかく RESTful を参照する必要があります。

.htaccess と「Pretty URLs」に関する別のチュートリアル http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/

于 2013-01-29T04:37:44.753 に答える
0

このように URL を非表示にすることは、一般的には良い考えではありませんが、次の方法を試すことができます。

<a href="somepage.php" onclick="location.href=this.href;return false;">Link</a>

各リンクに手動でイベント ハンドラーを追加する必要がないように、単純な JavaScript を使用することもできます。

document.body.addEventListener("click",function(e) {
    var t = e.srcElement || e.target;
    if( !t.tagName) t = t.parentNode;
    if( t.tagName.toLowerCase() == "a") {
        location.href = t.href;
        return false;
    }
},false);
于 2013-01-29T04:18:57.060 に答える