1

.htaccessにこの正規表現がありますが、機能していません。私が達成しようとしているのは、このリンクですhttp://www.domain.com/。4つのオプションのパラメーターを受け取るため、次のようになります。http://www.domain.com/var1/var2/var3/var4

しかし、何らかの理由で、このコードは機能せず、404エラーが発生し続けます。

RewriteRule ^([^/]+)/([^\.]+)/([^/]+)/([^\.]+)/$ index.php?var1=$1&var2=$2&var3=$3&var4=$4

どんな助けでも大歓迎です。

ヘレンに感謝します。

アップデート:

上記の内容が正しくない場合、URLに4つのパラメーターを指定する方法を誰かに教えてもらえますか?http://www.domain.com/index.php?var1=$1&var2=$2&var3=$3&var4=$4次のようになります。http://www.domain.com/var1/var2/var3/var4

ありがとう

4

1 に答える 1

1

さて、私たちが言えることは3つあります。

  1. イントロで示した例では、クエリ引数は追加されていませんが、パスにはトークンが含まれています。ただし、RewriteRuleクエリパラメータを追加します。それは一致しません。

  2. 取得した404戻りコードは、ファイルindex.phpが存在しないことを示しています(少なくともサーバーがそれを探す場所ではありません)。

  3. 内部で使用する正規表現は、RewriteRule確かに何にも一致しません。

書き換えプロセス内で実際に何が起こっているかをログに記録することから始める必要があります。そうでなければ、あなたはそれを理解することはありません。2つのオプションRewriteLogRewriteLogLevel、mod_rewriteが提供する優れたドキュメントを確認してください。

于 2012-10-23T10:25:33.230 に答える