我正在使用共享主机。我用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
答案 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