web-dev-qa-db-ja.com

mod_rewriteが使用している場合、Apacheエラーログに「ファイルが存在しません」

URLを書き換えるときに、サーバーログで次のエラーが発生します。

[Fri Jan 25 11:32:57 2013] [error] [client ***IP***] File does not exist: /home/testserver/public_html/testing/flats-in-delhi-for-sale, referer: http://domain.in/testing/flats-in-delhi-for-sale/

どこでも検索しましたが、解決策は見つかりませんでした。

私の。htaccess設定は以下のとおりです:

Options +FollowSymLinks
Options All -Indexes

ErrorDocument 404 http://domain.in/testing/404.php

RewriteEngine On

#Category Link
RewriteRule ^([a-zA-Z]+)-in-([a-zA-Z]+)-([a-zA-Z-]+)/?$ view-category.php?type=$1&dis=$2&cat=$3 [NC,L]

#Single Property Link
RewriteRule ^([a-zA-Z]+)-in-([a-zA-Z]+)-([a-zA-Z-]+)/([a-zA-Z0-9-]+)/?$ view-property.php?type=$1&district=$2&category=$3&title_alias=$4 [NC,L]

同様の古い日付の質問も見つかりましたが、答えはありません( 「Apacheエラーログにファイルが存在しません」 )。

よろしくお願いします。

追伸:私のサイトは、Apacheログにエラーが表示されていても正常に動作しています。

1
Nithin

昨日、同じような状況に遭遇しました。私のWebサイトは正常に機能していましたが、Apacheのエラーログにエラーがありました。この問題は、RewriteRuleではなく、PHPファイルの間違いが原因でした。

PHPファイルには次のフラグメントが含まれていました。

<script src="javascript/package-min-1367246122.js"></script>

スラッシュがないため、Apacheのエラーログに「ファイルが存在しません」というエラーが発生していました。これは正しいフラグメントです:

<script src="/javascript/package-min-1367246122.js"></script>
1
lucengelen

,タグで<img>を使用した可能性があります。例えば:

<img src="/testing/flats-in-delhi-for-sale,">
<script src="/testing/flats-in-delhi-for-sale,"></script>

URLはどの文字にも非常に敏感であることを忘れないでください。

1
Huseyin

構成のパスを確認することをお勧めします。htaccessファイル。エラー(ファイルが存在しない)が表示される場合、スクリプトは上記のファイルを見つけることができません。

0
user16179