2016-05-26 14 views
0

私は次のURLを持っていますindex.php?page=1私はそれがindex.php/page/1になりたいです。私はそれがURLを書き換えていないことを使用している場合ページングによるURL書き換えは動作しません.htaccess?

$numbers.='<li><a class="active" href="?page='.$i.'">'.$i.'</a></span></li>' 

これまでのところ、私はこの

RewriteEngine on 

RewriteRule ^page/([^/]*)$ index.php?page=$1 [L] 

と私のページネーションリンクは次のようになります持っています。

と私は

$numbers.='<li><a class="active" href="?page/'.$i.'">'.$i.'</a></span></li>' 

に私の改ページを変更した場合、ページネーションは動作を停止し、私の結果は不気味表示されます。何が起こっているのでしょうか?

+0

'index.php/page/1'または'/page/1'にしますか? – michaJlS

+0

index.php/page/1 –

+0

次のものを使用してください: ''.$i.'' – anubhava

答えて

0

次のRewriteRule使用することができます。

RewriteRule ^index.php/page/([0-9]+)$ index.php?page=$1 [L]

およびリンク:

<li><a class="active" href="/index.php/page/'.$i.'">'.$i.'</a></li>

それとも、私達のリンクでそれをしたいいけない場合の両方からindex.php/を除外します。

UPDATE:

OK、あなたが本当にあなたのページネーションリンクは"?page/2"のように見える必要がある場合は、$_GET['page']するのではなく、次の書き換えルールと使用を削除することができます。intval(explode("?page/", $_SERVER["REQUEST_URI"])[1]) - これは基本的にページでURLを分割/と何かを返します? integrerとしてPHPの> 5.4で動作します。 btw。これはページネーションリンク構造の実装が非常に悪いです...しかし動作します

+0

'$ _GET ['page']'を使用してページ変数を取得します。これを変更すると、ページ分割によって作業が中止されます –

+0

またはjstを 'index.php/1'にしたいのですが?実際には '?='を私のURLから消したい場合は、ページ番号 –

+0

を使用すると、RewriteRuleはうまくいくはずです: 'RewriteRule^index.php /([0-9] +)$ index.php?page = $ 1 [L ] ' –

関連する問題