私が開発しているアプリケーションは、特定のファイルディレクトリ構造を使用しています。mod_rewriteファイルと.htaccessファイルを使用することで、ユーザーにとって使いやすいURLを管理できます。ローカルサーバーでは正常に動作しますが、運用サーバーでは失敗します。明らかに、.htaccessが起動する前に、サーバーは404エラーをスローします。
これが私が取り組んでいる.htaccessです(以下では(1)として参照されます):
IndexIgnore *
#Options +FollowSymLinks
RewriteEngine on
RewriteOptions inherit
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ /~extranet/extranet/$1 [NC,L,QSA]
サーバーでは、404を返します。
サーバーは要求されたページを見つけることができません:
<IP-ADDRESS>/~extranet/extranet/dev/foo/
(ポート80)
実際、phpinfo()はロードされたモジュールの中でmod_rewriteをリストしていますが、リダイレクトは失敗しているようです。
サーバーは新品です。(役立つ場合は、404ページにApache / 2.0.63(Unix)mod_ssl / 2.0.63 OpenSSL / 0.9.8e-fips-rhel5 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635 PHP / 5.2.8 Serverがリストされています)
どこで間違い/設定ミスを探す必要がありますか?
更新:詳細
ファイル/フォルダの構造と使用される各.htaccessは次のとおりです。
<IP-ADDRESS>/~extranet/.htaccess (1)
<IP-ADDRESS>/~extranet/extranet/
L .htaccess (2)
L/dev/
L .htaccess (3)
L index.php
L/stable/
L .htaccess (3)
L index.php
(1)すべてのリクエストをフォルダ「extranet」にリダイレクトします(2)「/ dev /」を含まないすべてのリクエストをフォルダ「stable」にリダイレクトします(3)/ extranet / foo / bar /をindex.php?app = foo&do=barに書き換えます