0

だから私のURLは現在:

http://www.mywebsite.com/search.php?keyword=stack+overflow

次のようにアクセスできるようにしたいと考えています。

http://www.mywebsite.com/?s=stack+overflow

以下のように、.php ファイルの書き換えも実装しました。

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

search.phpはちょうどに書き換えられていますsearchが、まだアクセス可能であるため、今は少し混乱しています。search.phpそのため、書き換えルールを作成するときに、書き換えるsearch.phpか、単にsearch?.. どちらの方法でも、試してみましたが、達成できませんでした笑。

目的の URL を取得するには何を追加すればよいですか? 助けていただければ幸いです:)

4

1 に答える 1

2

mod_rewriteでパラメータ名を変更することはできません。目的を達成するための最も簡単な方法は、次の行を.htaccessに追加することです。

RewriteCond %{QUERY_STRING} ^s=
RewriteRule .? search.php [L]

search.phpを変更して、に反応するsのと同じパラメータを取得するように反応しkeywordます。

別の方法は、.htaccessをそのままにして、index.phpの先頭にこれらを追加することです。

if (!empty($_GET['s'])) {
    $_GET['keyword'] = $_GET['s'];
    require __DIR__ . '/search.php';
    exit;
}
于 2011-08-25T18:57:19.690 に答える