2014-01-31 41 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]