日期:2014-05-17  浏览次数:21179 次

一个复杂一点的rewrite不知道怎么写了。
原始url:/show?id=123456
要求转换为/show/456/123456.html

通过一下rewrite可以实现
  RewriteCond %{QUERY_STRING} ^id=(\w+)$
  RewriteRule /show(.*)$ /%1/%1.html? 
  RewriteRule /.+([0-9][0-9][0-9])/(.*)\.html$ /show/$1/$2.html [L]

但是现在有另外有一个要求,如果不存在页面不存在,即404的话,要求rewrite到一个公共页面/show/error.html。

/show/456是真实的目录,可以通过show下面的.htaccess文件来配置404,达到目的。但是要求不能使用.htaccess,请问如何实现?
求高手帮帮忙。

------解决方案--------------------
RewriteRule /show/([0-9]+)/([0-9]+).html$ /show/$1/$2.html
ErrorDocument 404 /show/error.html

没测试,你自己测吧