0

URLを書き換えても、クエリを使用することはできますか?

私はこのようなものを意味します:http://domain.com/?page=Home&derp=true

そしてそれをこれに書き直します:http://domain.com/home.htm?derp=true

したがって、実際には最初のクエリを書き直してください...

私はこれをやろうとしました:

RewriteRule ^([a-z]+).htm$ index.php?page=$1

しかし、Dでパラメータを渡すことができませんでした:

4

2 に答える 2

1

ああ、あなたはあなたの質問をもっとよく書くべきです。[QSA]最後にドキュメントを追加するだけで、機能するはずです。

RewriteRule ^([a-z]+).htm$ index.php?page=$1 [QSA]

PHPでの単純な文字列操作であり、正規表現も必要ありません。

function rewrite_url($url) {
    list($prefix, $query) = explode('?', $url, 2) + array('','');
    parse_str($query, $vars);
    if (isset($vars['page'])) {
        $prefix .= $vars['page'] . '.htm';
        unset($vars['page'];
    }
    return $prefix . '?' . http_ build_ query($vars);
}

必要に応じて、正規表現を使用してこれを行うこともできます。

$url = preg_replace('/^(.*)$/e', 'rewrite_url(\'$1\')', $url);
于 2012-03-19T16:57:21.663 に答える
0

URLの書き換えについては、Apacheのmod_rewriteエンジンの使用を検討してください

mod_rewriteが答えではない場合は、少なくともアプリケーションのロジック、使用しているフレームワーク、およびその他の詳細を説明することを検討してください。

于 2012-03-19T16:52:03.567 に答える