带有codeigniter的mod_rewrite

时间:2012-11-13 13:04:44

标签: codeigniter mod-rewrite

我正在使用共享主机。我用codeigniter构建我的web应用程序,我的新web目录如下:

/home/projName/public_html/proj_v3/

在这个目录下,有index.php,.htaccess。如上所示,我在不同的目录中分离了不同的项目版本(即:proj_v1,proj_v2,proj_v3)。 Web应用程序允许上传照片,并存储在 / home / projName / public_html / proj_v3 / application / uploads 中。 proj_v2 目前有最新上传的照片,因为它仍在使用中。因为我有不同版本的项目,我想将目录上传放在公共目录中,例如 / home / projName / public_html 。所以对于任何新版本的项目,我都不必将上传文件夹移动到新的项目文件夹。这可能会导致停机。

目前, / home / projName / public_html / proj_v2 中的.htaccess文件为:

Options -indexes
DirectoryIndex index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1/ [L]

我在 / home / projName / public_html / 中有另一个.htaccess:

Options All -Indexes
RewriteEngine On
Rewriterule ^(.*)\.*$  proj_v3/index.php/$1/
RewriteOptions MaxRedirects=3 

基本上我应该如何编辑/ home / projName / public_html /中的第二个 .htaccess 文件,以便在web目录 domain.com/uploads/image.png < / strong>,它从 / home / projName / public_html / uploads 获取图像。目前,第二个 .htaccess 文件告诉 domain.com 指向 / home / projName / public_html / proj_v3

2 个答案:

答案 0 :(得分:0)

RewriteRule \.(jpe?g|gif|png|wmv|bmp)$ /uploads/$1

可能会为你工作。您可以根据需要添加其他格式。

答案 1 :(得分:0)

您要做的是允许存在真实文件和文件夹的路径,同时将其他所有内容重定向到CodeIgniter,您可以在第二个.htaccess文件中使用此方法实现此目的:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

绝对值得在CodeIgniter网站上阅读有关mod rewrite

的文章

我之前给出了类似的答案:mod_rewrite in Users/<username>/Sites directory on OSX