mod_rewrite向后为旧的动态网址

时间:2013-05-24 01:41:45

标签: php linux mod-rewrite apache2

我在apache 2.2上有mod-rewrite工作正常,但问题是它不能“向后”工作。

我有这些规则,使SEO友好的网址工作:

 RewriteRule ^sjg/([^/]+)/([0-9]+)/?$           /showimage.php?model=$1&image=$2 [L]
 RewriteRule ^sjg/([^/]+)/page/([0-9]+)/?$      /model.php?model=$1&page=$2      [L]
 RewriteRule ^sjg/([^/]+)/?$                    /model.php?model=$1              [L]

但“旧的”网址仍然有用,即website.com/showimage.php?model=abc&image=123

我想重写这些网址,如果它们直接加载或从旧链接加载,以便只有一个网址方案正常工作。

1 个答案:

答案 0 :(得分:1)

假设您有一个报告错误的页面,特别是404,您可以在最后添加此规则,您应该没问题:

RewriteRule ^.*$ __404_PAGE_HERE__

这会将所有与之前规则不符的请求重定向到您的404页面。

祝福。