0

私はすべての開発をCMSを使用するサイトでローカルに行っています。画像(/ Assets /)などのユーザーがアップロードしたコンテンツを保存するために使用されるディレクトリがあります。問題は、ローカルで開発するときに、自分のマシンの本番サイトからアップロードされたすべてのファイルが必要ないため、このディレクトリを空のままにして、/assets/ディレクトリ内のファイルに対するすべてのHTTPリクエストが404になることです。 ed。

.htaccessに404を検出し、本番サイトの外部URLに転送してそこからアセットをロードする書き換えルールを設定できれば、すばらしいと思います。ロジックは次のようになります。

Request localhost/somesite/assets/foo.jpg
200 response ? send the local file /somesite/assets/foo.jpg
404 ? forward to http://www.productionsite.com/assets/foo.jpg

これは可能ですか?

4

2 に答える 2

1

次のような.htaccessルールを用意します。

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(assets/.*)$ http://www.productionsite.com/$1 [R,L,NC]

これにより、ローカルWebサーバーに一致し、まだ存在していないリクエスト/assets/外部からリダイレクトされます。http://www.productionsite.com/assets/...

ところで、あなたは本当にあなたの受け入れ率を改善するべきです、さもなければあなたはここで多くの答えを持たないかもしれません。

于 2011-05-10T17:09:30.137 に答える
0

/ Assetsは常に別のサイトにありますか、それともファイルがローカルで利用できない場合のみですか?

私が尋ねる理由は、開発サーバーのhttpd.conf / .htaccessにある次の(テストされていない)ルールを使用して、常に/assetsだけをライブにリダイレクトする方が簡単な場合があるためです。

Options +FollowSymLinks
RewriteEngine on
RewriteCond $1 ^(assets) [NC]
RewriteRule ^(.*)$ http://www.livesite.com/$1 [L]
于 2011-05-10T16:54:24.917 に答える