2016-11-09 1 views
0

私はページがロードされた後にhttp://localhost/foldername/page?name=xyzのようなURLを持っています。ページが読み込まれた後にPHPからクエリ文字列を削除できますか?

名前= xyzでデータベースからデータを取得してページの内容を取得しています。 しかし、私はページのロード後にhttp://localhost/foldername/page/xyzのようなURLにしたがっています。何か方法はありますか?

+1

'.htaccess'を使ってあなたのURLを書き換えます。 –

+0

mod_rewrite私の友人。あなたはApacheまたはnginxを使用していますか? – kwoxer

+0

私はApacheを使用しています。 –

答えて

0

で明らかにGET値のためのstrtokを使用foldername内部.htaccessファイルを作成し、入れ http://localhost/foldername/page/xyz

nameのインデックスにアクセスできます。 get requestを持つPHP $ _GET ['name'];

+0

ありがとうブラザー!このオプションも試してみましょう。 –

+0

問題が発生した場合はお知らせください。 –

+0

兄弟はまだ同じです。実際にhttp:// localhost/foldername/page/xyzと入力すると、現在も動作しています。自動的に上記のURLを与えます。 –

0

ブラウザから

RewriteEngine On 
RewriteRule ^page/([a-zA-Z0-9-/]+)/?$ index.php?name=$1 [L] 

アクセスして、このコードを、これを試してみてくださいURLを取得し、URL

if (isset($_GET['name'])) { 
    $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
    $url = strtok($url, '?'); 
    $get_name = $_GET['name']; 
    $url = "Location: ".$url."/".$get_name; 
    header($url);  
} 
+0

ありがとうございます!その作業... URL私はアドレスバーになりたい私はそれを持っています。しかし、それが新しいURLにリダイレクトされると、どうすれば**名前**を得ることができますか?私はデータベースからその名前の列を介してページの内容を取得しています。ページを新しいURLにリダイレクトした後に適切に取得できるように、その名前を変数に保存するにはどうすればよいですか? –

関連する問題