2013-03-19 191 views
0

我想在本地wamp服务器上使用adaptive images。 ai-cache文件夹没有显示,图像也没有被替换。根据this thread,我在.htaccess文件中尝试了RewriteRule .(?:jpe?g|gif|png)$ test.jpg,并在相同的文件夹中添加了test.jpg,但这不会改变任何内容。WAMP mod_rewrite重写规则不起作用

在WAMP菜单Apache->的Apache模块 - > rewrite_module检查,它是在httpd.conf LoadModule rewrite_module modules/mod_rewrite.so

我重新启动所有服务WAMP每当我改变的.htaccess注释。另外,如果我在顶部写入asdf,它确实会给出500内部服务器错误,所以我知道该文件正在被读取。

我在做什么错?

这里是(WWW /演示/测试/)位于几个子目录的.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> 
+0

有解决[这里]类似的问题(http://stackoverflow.com/questions/15105877/adaptive-images-cakephp -htaccess)。 – 2013-03-19 03:58:46

回答

1

好吧,我找出它不工作的原因!这根本不是WAMP/localhost问题。

由于某些原因,自适应图像附带的默认.htacess文件不适用于任何情况。但是......所有我必须添加的是[NC,L]到重写规则的末尾。 html和image标签的.jpg扩展名为小写,但是我的图像文件是用大写字母(.JPG)编写的,直到我在文件浏览器中打开文件扩展名时才注意到。

  • nocase | NC:使模式比较不区分大小写。
  • last | L:立即停止重写过程,并且不要应用任何 更多规则。特别注意每个目录的注意事项和.htaccess 上下文(另请参阅END标志)。

Source

下面是最终代码:

<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>