0

ローカルのWampサーバーでアダプティブイメージを使用しようとしています。ai-cacheフォルダーが表示されず、画像がまったく置き換えられていません。このスレッドに従って、.htaccessファイルを試しRewriteRule .(?:jpe?g|gif|png)$ test.jpg、同じフォルダーにtest.jpgを追加しましたが、何も変わりません。

wampメニューでApache->ApacheModules-> rewrite_moduleがチェックされ、httpd.confでコメント解除されますLoadModule rewrite_module modules/mod_rewrite.so

.htaccessを変更するたびに、wampですべてのサービスを再起動します。また、一番上に書き込むasdfと、500内部サーバーエラーが発生するため、ファイルが読み取られていることがわかります。

私は何が間違っているのですか?

いくつかのサブディレクトリ(www / demos / test /)にある.htaccessファイルは次のとおりです。

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  # Adaptive-Images -----------------------------------------------------------------------------------

  # Add any directories you wish to omit from the Adaptive-Images process on a new line, as follows:
  # RewriteCond %{REQUEST_URI} !ignore-this-directory
  # RewriteCond %{REQUEST_URI} !and-ignore-this-directory-too

  RewriteCond %{REQUEST_URI} !assets

  # don't apply the AI behaviour to images inside AI's cache folder:
  RewriteCond %{REQUEST_URI} !ai-cache

  # Send any GIF, JPG, or PNG request that IS NOT stored inside one of the above directories
  # to adaptive-images.php so we can select appropriately sized versions

  RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php

  # END Adaptive-Images -------------------------------------------------------------------------------
</IfModule>

これが私のhttpd.confセクションです:

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "c:/wamp/www/">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options None

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride all

    #
    # Controls who can get stuff from this server.
    #

#   onlineoffline tag - don't remove
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1:

</Directory>
4

1 に答える 1

1

さて、なぜそれが機能しなかったのか理解しました!これはWAMP/localhostの問題ではありませんでした。

何らかの理由で、アダプティブイメージに付属しているデフォルトの.htacessファイルは、すべての状況ですぐに機能するわけではありません。しかし...私が追加[NC,L]しなければならなかったのは、書き換えルールの最後まででした。htmlおよびimageタグの拡張子は小文字ですが、画像ファイルは大文字(.JPG)で記述されており、ファイルブラウザでファイル拡張子をオンにするまで気づきませんでした。

  • nocase | NC: パターン比較で大文字と小文字を区別しません。
  • last | L: 書き換えプロセスをすぐに停止し、これ以上ルールを適用しないでください。特に、ディレクトリごとおよび.htaccessコンテキストに関する注意事項に注意してください(ENDフラグも参照してください)。

ソース

最終的なコードは次のとおりです。

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  # Adaptive-Images -----------------------------------------------------------------------------------

  # Add any directories you wish to omit from the Adaptive-Images process on a new line, as follows:
  # RewriteCond %{REQUEST_URI} !ignore-this-directory
  # RewriteCond %{REQUEST_URI} !and-ignore-this-directory-too

  RewriteCond %{REQUEST_URI} !assets

  # don't apply the AI behaviour to images inside AI's cache folder:
  RewriteCond %{REQUEST_URI} !ai-cache

  # Send any GIF, JPG, or PNG request that IS NOT stored inside one of the above directories
  # to adaptive-images.php so we can select appropriately sized versions

  RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php [NC,L]

  # END Adaptive-Images -------------------------------------------------------------------------------
</IfModule>
于 2013-03-20T02:33:43.717 に答える