2012-09-10 68 views
1

我目前处于危机之中,我覆盖了我的.htaccess文件,这个文件有6个月前做过的很多URL重写。现在我必须重做他们,因为如果没有它,我无法让我的一半网站工作。URL重写全部中断

我的事情,我需要改变的列表,也许他们都使用相同的方法,也许他们中的一些不这样做,这里是一个快速列表...

Old: http://i.website.com/(Anything) 
New: http://www.website.com/images/(Anything) 

然后,我需要后作出这样的:

Old: http://www.website.com/images/(Anything) 
New: http://www.website.com/images.php?id=(Anything) 

Errr,这是两个主要的,开始我关闭...我真的需要这些ASAP的,我有超过10万的图像下线的那一刻,因为这些链接被打破:(

谢谢

编辑:

我也有这个在我的htaccess的底部对我的框架:

RewriteRule .* index.php/$0 [PT] 

我还需要第二次重写规则(该images.php之一)跳过这个规则,而不是使用它...

回答

0

尝试这样:

RewriteCond %{HTTP_HOST} ^i.website.com$ 
RewriteRule ^(.+)$ http://www.website.com/images/$1 [R] 

RewriteRule %{HTTP_HOST} ^www.website.com$ 
RewriteRule ^images/(.+)$ /images.php?id=$1 [L] 

第一个条目检查请求的主机是i.website.com并将[R]重定向到新的URL。接下来检查请求的主机是否为www.website.com,然后匹配images/路径中的任何内容并根据请求重写URL,[L]指示它不做进一步处理。

请按照您提到的将所有其他查询重定向到您的框架的规则进行处理。