URL 内の URL の正規表現ですか?

URL 内の URL の正規表現ですか?

.htaccess ファイルに次の行がありますが、404 エラーにリダイレクトされ続けます。

書き換えルール ^path1/([a-zA-Z0-9_-]+)/(.+)(/?)$ /file.php?variable1=$1&variable2=$2 [nc]

リンクの例は次のようになります。

http://domain.com/path1/name23/http://domain2.com/stuff/is/here

2 番目の URL を変数 2 に転送するようにします。

答え1

書き換えルール ^path1/([a-z0-9_-]+)/([^\?]+)$ /file.php?variable1=$1&variable2=$2 [NC]

上記のルールを試して確認してください。パターンが一致しないため、404 エラーが発生します。ちなみに、NC ではいずれにしても大文字と小文字が区別されなくなるため、AZ を削除します。

答え2

[NC] のみでは、Apache はハード ドライブ上の 'file.php?variable1=$1&variable2=$2' (変数を置換) というファイルを探していると思います。[R,NC] または [PT,NC] を試すことができます (この場合は mod_proxy が必要です)

答え3

ログ レベルをデバッグに上げて、mod_rewrite が実行中であることを確認します。

関連情報