htaccess,Codeigniter,静态内容的域,当找不到图像时使用index.php

时间:2014-04-03 04:40:31

标签: php apache .htaccess codeigniter

问题:

1.example.com使用Codeigniter为产品提供网页。

2.产品图片存在于文件夹

  

/静态/电棒/

Css出现在文件夹

  

/静态/ CSS /

文件夹中的js

  

/静态/ JS /

3.所有静态内容图像,css,js需要使用不同的子域提供

  

images.example.com/prods/productid.png

     

images.example.com/css/styles.css

     

images.example.com/js/script.js

4.但是如果    images.example.com/prods/productid.png

不存在,它应该提供由Codeigniter路径生成的Productimage(无重定向)

  

/index.php?/static/prodid.png

其中'static'是'home'控制器上的一个函数。

5.Apache 2.2

6.什么是正确的htaccess?

当前配置:

我的htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    #Render static files
    RewriteCond %{HTTP_HOST} images.example.com [NC]
    RewriteCond %{REQUEST_URI} !static/
    RewriteCond %{DOCUMENT_ROOT}/static/%{REQUEST_URI} -f
    RewriteRule ^(.*)$ /static/$1 [L]

    RewriteCond %{HTTP_HOST} images.example.com [NC]
    RewriteCond %{REQUEST_URI} !static/
    RewriteCond %{DOCUMENT_ROOT}/static/%{REQUEST_URI} !-f
    RewriteRule ^(.*)$ https://images.example.com/static/$1 [L,R=303]

    #Removes access to the system folder by users.
    #Additionally this will allow you to create a System.php controller,
    #previously this would not have been possible.
    #'system' can be replaced if you have renamed your system folder.
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    #When your application folder isn't in the system folder
    #This snippet prevents user access to the application folder
    #Submitted by: Fabdrol
    #Rename 'application' to your applications folder name.
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]


   #Checks to see if the user is attempting to access a valid file,
   #such as an image or css document, if this isn't true it sends the
   #request to index.php
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?/$1 [L]

   RewriteCond %{HTTPS} off
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
 </IfModule>

如果产品图片'images.example.com/prods/productid.png'不存在,则应重定向至images.example.com/index.php?/static/prods/productid.png

相反,它会重定向到https://images.example.com/static/index.php?/static/index.php

您需要的任何想法或输入?

0 个答案:

没有答案