2017-08-17 13 views
-2

http://example.com/page.php?id=3からhttp://example.com/usernameまたはhttp://example.com/users/usernameからhttp://example.com/usernameへのURL書き換えの対象はいくつかあります。彼らはあなたがexample.com/username入力した場合、それはhttp://example.com/page.php?id=3カスタムプロフィールページはPHPのFacebookのようです

にでもログインfacebookなどのURLにリダイレクトされた.htaccessの書き換えルールではなく、問題があることを行う

はまだfacebook.com/usernameと同じです。それは新しいURLにリダイレクトされません。

どうすればよいですか?

私の考えはusername.htmlのような動的なWebページを作成すると、それはメモリとして非効率的であることを行うには

私の.htaccessファイル:

RewriteEngine on 
RewriteRule ^([^/]+)$ userinfo.php?username=$1 [L,QSA] 

そして、私のuserinfo.php

<?php 

require_once ("config.php"); 
if(isset($_GET["username"])) 
{ 
    $username = $_GET["username"]; 
    $stmt = $connection->prepare("SELECT * FROM userxmeta WHERE username = :username "); 
    $stmt->bindParam(":username",$username,PDO::PARAM_STR); 
    $stmt->execute(); 

    if($stmt->rowCount()>0) 
    { 
     $row = $stmt->fetch(PDO::FETCH_ASSOC); 
     header('Content-type: application/json'); 
     echo json_encode($row); 
    } 
} 
?> 
+1

質問を更新して現在のコードを追加できますか? – Jasper

+0

リダイレクトすることも、書き直すこともできます。書き換えは要求をGETとしてサーバーに送信しますが、ユーザーへのパスは引き続き読み取り可能です。 – chris85

+0

**あなた自身がコードを書き込もうとしています**。あなたが問題を抱えている場合は** [もっと研究している**](https://meta.stackoverflow.com/q/261592/1011527)の後**あなたが試したものを投稿してください** **動作しておらず、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を提供しています。 [質問する](http://stackoverflow.com/help/how-to-ask)の良い質問をお読みください。 [ツアーに参加する](http://stackoverflow.com/tour)と[this](https://meta.stackoverflow.com/q/347937/1011527)を必ず読んでください。 –

答えて

0

私は答えを見つけました .htaccess RewriteRule to path without changing URL

# Tell PHP that the mod_rewrite module is ENABLED. 

SetEnv HTTP_MOD_REWRITE On 
RewriteEngine on 
RewriteBase/

#For internal pages(rewrite "/page.php?name=about us" to "AboutUs") 

RewriteCond %{QUERY_STRING} ^name=([^&\s]+)$ 
RewriteRule ^(?:page\.php|)$ /%1? [R=301,L] 

RewriteCond %{QUERY_STRING} ^name=([^&\s]+)&name=([^&\s]+)$ 
RewriteRule ^(?:page\.php|)$ /%1/%2? [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^\s\/]+)/?$ page.php?name=$1&r [L,QSA] 
関連する問題