2014-01-31 67 views
1

在新站點上工作,並且在顯示http://www.placewomen.com/new/index.php?var=c/454/700時需要重寫規則我希望重寫規則將其顯示爲http://www.placewomen.com/c/454/700/htaccess重寫到子類別

現在我有這個在我的htaccess:

Options +FollowSymLinks -MultiViews -Indexes 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^placewomen.com [NC] 

RewriteRule ^(.*)$ http://www.placewomen.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*[^/]) /new/index.php?var=$1 [R=302,L] 

RewriteCond %{REQUEST_FILENAME} -d 

RewriteCond %{REQUEST_FILENAME}/placeholder.jpg -f 

RewriteRule ^(.*)$ /$1/placeholder.jpg [L] 

I'm一個frontender但我的編程技能.....沒有那麼大=! :) 幫助高度讚賞!

問候,

克里斯

回答

1

插入這個規則只是你的第一www handler規則如下:

Options +FollowSymLinks -MultiViews -Indexes 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^placewomen.com [NC] 
RewriteRule ^(.*)$ http://www.placewomen.com/$1 [R=301,L] 

RewriteCond %{THE_REQUEST} \s/+new/index\.php\?var=([^\s&]+) [NC] 
RewriteRule^/%1? [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)$ /new/index.php?var=$1 [QSA,L] 

RewriteCond %{REQUEST_FILENAME} -d 
RewriteCond %{REQUEST_FILENAME}/placeholder.jpg -f 
RewriteRule ^(.*)$ /$1/placeholder.jpg [L] 
+0

嗨,當我使用重寫它不工作,像我的方面。 ..網址被重寫但是/new/index.php上的代碼未被執行(當子目錄不存在時創建文件夾+圖像)... – KnapLelijk

+0

由於評論中的字符數有限我已經對評論發表了第二個回答在你的代碼上。您可以通過按F5來實時查看它。 – KnapLelijk

+0

這個.htaccess在'/ new /'目錄還是其上一級? – anubhava

0

因爲我不能放在一個答案,我會嘗試在這裏一個很大的評論.. 嗨,當我使用重寫它不工作像我aspect ... url被重寫,但在/new/index.php代碼不執行(當子目錄不存在時創建文件夾+圖像)。以下是想要的過程:如果子目錄不存在goto /new/index.php。如果確實存在,則顯示圖像placeholder.jpg。當創建新圖像時,我不想將其顯示爲http://www.placewomen.com/new/index.php?var=c/355/676,而是http://www.placewomen.com/c/355/676。您的代碼現在被置於這樣

Options +FollowSymLinks -MultiViews -Indexes 

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^placewomen.com [NC] 

RewriteRule ^(.*)$ http://www.placewomen.com/$1 [R=301,L] 

RewriteCond %{THE_REQUEST} \s/+new/index\.php\?var=([^\s&]+) [NC] 

RewriteRule^/%1? [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*[^/]) /new/index.php?var=$1 [R=302,L] 

RewriteCond %{REQUEST_FILENAME} -d 

RewriteCond %{REQUEST_FILENAME}/placeholder.jpg -f 

RewriteRule ^(.*)$ /$1/placeholder.jpg [L]