URLをregexを.htaccessファイルで使用して照合しようとしています。Apache RewriteRule - 文字列の開始に一致できません
「$」を使用して文字列の最後に一致することはできますが、「^」を使用して文字列の先頭に一致させようとすると、RewriteRuleが機能しなくなります。
は、ここに私の.htaccessファイルです:動作します "^" 正規表現がなければ
RewriteEngine On
RewriteBase "/"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule "^example-url$" "index.php"
、あまりにもずさんです。私はこれを数時間は手にしましたが、私が試したすべての正規表現のテスターで動作しているこの非常に基本的な正規表現以来、他に何を試していいのか分かりません。
私の最高の推測atmは文字列の実際の開始点と何か関係がありますが、これをテストする方法はわかりません。トップレベルのドメイン名の直後に "/"
EDIT: が行われたすべての私の問題は、離れて行くのhtmlフォルダに.htaccessファイルを移動、上記の.htaccessファイルは現在正常に動作します。 @Riad Loukiliと@ P0lT10nのおかげですごく感謝しています。
私の問題は、仮想ディレクトリの設定方法に起因すると推測しています。
彼はすでに 'RewriteBase'を定義しているので、彼は'/example'ではなく '/ example'とマッチさせようとしています。 – matiaslauriti
@Riad Loukili返事をありがとう。ちょうどそれを試みましたが、ルールが全くないように行動するようです。 – Andrew
@ P0lT10n私は 'RewriteRule'の経験があまりないので、間違っているかもしれません。私は、 'RewriteBase'コマンドが外部パスではなく内部パスに影響すると考えましたか?それは両方に影響するのですか、私はこれを誤解していますか? – Andrew