重写条件不适用于单个页面上的重写规则

时间:2012-05-04 08:11:02

标签: mod-rewrite redirect url-rewriting

我正在尝试编写一条规则,该规则将捕获任何没有销售/任何高达.php或.php3文件的网址以及之后的任何内容 - 如果有的话 - 并根据其重新编写到新网站下面:

RewriteCond %{REQUEST_URI} !^(/sales/.*php3?).*
RewriteRule ^/sales/([^./]*)$ http://www2.domain.com/sales$1/index.shtml [R,L]

如果我放入www.domain.com/sales,它会捕获,但如果我没有捕获单个页面,则只会放入http://www.domain.com/sales/trucks.shtml

有人能看到我需要做些什么才能让它正常工作吗?

澄清:

。如果我输入网址www.domain.com/sales,该网站会重定向到www2.domain.com/sales/index.shtml ....但是,如果我输入网址www.domain.com/sales /trucks.shtml条件没有被提取,网址没有重写到ww2网站,所以我仍然被困在旧页面上....感谢您的帮助

1 个答案:

答案 0 :(得分:1)

可以根据您的要求使用这两条规则:

RewriteRule ^sales/?$ http://www2.domain.com/sales/index.shtml [R,L,NC]

RewriteRule ^sales/(?!.*\.php3?$).*$ http://www2.domain.com%{REQUEST_URI} [R,L,NC]