0

SO私はこれを私の.htaccessファイルに持っています

RewriteEngine On
RewriteBase /core/
RewriteCond %{QUERY_STRING} ^page=([0-9]+)$
RewriteRule ^page page/%1/? [L]

私のURLは

http://localhost/core/page.php?page=8

適用されたルールで、私は得ています..

Not Found
The requested URL /core/page/8/ was not found on this server.

これはwampserver 2.2で実行されています

ファイル構造は次のようになります

c:/wamp/www/core

.htaccess は /core/ ディレクトリ内にあります。何が欠けているのですか.. apache.conf ファイルを確認しましたが、問題ないようです。

4

1 に答える 1

2

私はあなたがそれを間違った方法で手に入れたと思います。書き換えを論理的に考えると、元の URL新しい URLに書き換えません(たとえば、page.php?page=8page/8/に書き換えます)。実際にはpage/8/page.php?page=8に書き換えます。なじみのない URL をサーバーがどのように解釈するかをサーバーに伝えます。

したがって、あなたが達成したいことを正しく理解していれば、次のようになります。

  1. ユーザー localhost/core/page/8/にアクセス
  2. ユーザーは(フードの下で)提供されます localhost/core/page.php?page=8

次の RewriteRule でうまくいくと思います(クエリ文字列条件は必要ありません):

RewriteRule ^page/(\d+)/$ page.php?page=$1 [L]
于 2013-03-06T07:25:38.517 に答える