ローカルのWindowsマシンにApacheとPHPがあり、.htaccessルールは正常に機能します。すべてのファイルをLinuxサーバーにアップロードしたところ、異なる結果が得られました。LinuxVPSを完全に制御できます。共有ホスティングなどではありません。すべてのリクエストが送信されるファイルshowme.phpを作成しました。showme.phpは、いくつかの$ _SERVER変数を出力するだけなので、機能したことがわかります。しかし、サーバーへのすべてのリクエストは、404が見つかりませんでした。同じリクエストがローカルでshowme.phpを提供します。
-ローカルの例:http:// localhost / somepage(showme.phpによってレンダリングされた正しいページを取得します)
-サーバーの例: http: //mydomain.com/somepage (404メッセージが表示されます)
これが私の.htaccessファイルです。なぜ違う結果が得られるのか理解できません。ファイルパーミッションのあるものはありますか?
# AddType x-mapp-php5 .php
# AddHandler x-mapp-php5 .php
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . showme.php [L]
ErrorDocument 404 /page-unavailable/
<files ~ "\.tpl$">
order deny,allow
allow from none
deny from all
</files>