2012-11-13 112 views
0

即時通訊使用共享主機。我建立我的web應用程序使用CodeIgniter和我的新web目錄將如下:mod_rewrite with codeigniter

/home/projName/public_html/proj_v3/ 

此目錄下有index.php文件的.htaccess。如上所示,我在不同的目錄中分離了不同的項目版本(即:proj_v1,proj_v2,proj_v3)。網絡應用程序允許照片上傳,並存儲在/home/projName/public_html/proj_v3/application/uploads中。 proj_v2目前有最新上傳的照片,因爲它仍在使用中。因爲我有不同版本的項目,我想將目錄上傳放置在一個公共目錄中,如/home/projName/public_html。因此對於任何新版本的項目,我都不必將上傳文件夾移動到新的項目文件夾中。這可能會導致停機。

目前,在.htaccess文件的/ home/projName /的public_html/proj_v2是:

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

我有/家庭/ projName /的public_html/其他的.htaccess是:

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

基本上我應該如何去編輯第二個.htaccess文件在/ home/projName/public_html /中,這樣如果web目錄是domain.com/uploads/image.png,它從/home/projName/public_html/uploads獲取圖片。目前,第二的.htaccess文件告訴domain.com指向/家庭/ projName /的public_html/proj_v3

回答

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

可能會爲你工作。您可以根據需要添加其他格式。

+0

哎TKS。我添加到我目前的規則,它看起來像這樣:選項全部 - 索引 RewriteEngine在 重寫程序^(。*)\。* $ proj_v3/index.php/$ 1/ RewriteRule \。(jpe?g | gif | png | wmv | bmp)$/uploads/$ 1 RewriteOptions MaxRedirects = 3 ...但我不能查看照片.. – nuttynibbles

+0

對不起,它沒有格式化。 – nuttynibbles

+0

嘗試添加'RewriteCond%{REQUEST_FILENAME}!-f'作爲張貼到.htaccess的cchana。 – stormdrain

0

你想要做的是讓真實的文件和文件夾的路徑存在,而重定向其他一切笨,你可以在你的第二個.htaccess文件實現這個使用這個什麼:

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

肯定值得一讀這篇文章的CodeIgniter網站上關於mod rewrite

其實我之前給了一個類似的答案:mod_rewrite in Users/<username>/Sites directory on OSX

+0

讓我進一步研究它,然後回到你身邊...... – nuttynibbles