2017-07-06 3 views
1

私は学校向けに私のポートフォリオのための簡単なブログを作っています。 blogpostを表示するリンクをクリックすると、私のURLはdomain.com/post?post_link=First-Postです。私はこのURLを変更することについてのSOの項目のhunderdsを読んだが、何も私のために働く...リライトURLは何もしません

私は誰に問題があるものを見ると、私は3つのファイル、blog.phpを(ここでは、すべての記事があったされている)持って解決に


を与えることを願って、post.php(ここでは、1つのブログ投稿があったです前のページからのポストティルルに基づく)と.htaccessファイル。

マイblog.php:

<form method="GET" action="post.php"> 
        <input type="hidden" name="post_link" value="<?php echo $post_link;?>"> 
        <input type="submit" name=""> 
       </form> 

マイpost.php:

$post_link = $_GET["post_link"]; 

$sql = "SELECT * FROM blogposts WHERE post_link='$post_link'"; 
$result = mysqli_query($conn, $sql); 
    if ($result) { 
     while ($row = mysqli_fetch_array($result)) { 
      $post_link = $row["post_link"]; 
     } 
     echo $post_link; 
    } 

私の.htaccessファイル:URLを書き換えることに加え

Options FollowSymLinks 
RewriteEngine On 
RewriteRule ^post/([0-9a-zA-Z]+)$ post.php?post_link=$1 
RewriteRule ^post/([0-9a-zA-Z]+)/ post.php?post_link=$1 

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

、すべてが正常に動作します、投稿を表示して1つの投稿を表示するようなもの

blog.phpで、私の入力タイプの隠し値が正しいです。

助けてください..

ダニエル

+0

あなたの行動はすでにpost.phpである、あなたはそれをリライトする必要はありません。 post.phpを除外する2番目のルールにRewriteCondを追加する必要があります – colburton

+0

RewriteRule^logi /([0-9a-zA-Z] +)$ post.php?post_link = $ 1に書き換えを変更すると何も起こりません –

答えて

0

だけpost

<form method="GET" action="post"> 

結果のURLがlocalhost/takast/post?post_link=First-Post

このルールは、その後、これを一致するべきであるためにあなたの行動を変更していますが、必要クエリ文字列を維持する[QSA]

コンプリート.htaccessファイル:

Options FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [QSA] 
+0

私はそれを私の.htaccessにコピーしましたが、変更がありました...あなたの助けを借りてありがとうございました –

+0

Ok。私はあなたの例で完全な道を見ることができません。 post.phpはそれの始まりではないかもしれません。 post.phpの完全なURLは何ですか? – colburton

+0

http://localhost/takast/post.php?post_link =最初の投稿 –

関連する問題