0

我有一个重写图,内容如下 -

    /sub1/sub2/  /content/sub1/sub2.html
    /sub3/sub4/  /content/sub3/sub4.html
    /sub5/  /content/sub5.html

    RewriteMap testuri dbm:conf/extra/testuri.map
    RewriteCond ${testuri:$1} !=""
    RewriteRule ^(.*)$ ${testuri:$1|/test} [PT,L]

上面的 URL 工作正常,它通过传递将源重定向到目标。

现在,我的要求是,如果使用 html 扩展名(例如 domain.com/sub1/sub2.html)访问 URI,那么它应该重定向到具有 404 状态代码的页面。

(1)不修改当前map文件可以实现吗?注意:在我的网站中,只有 dbm 地图文件中的页面是没有 html 扩展名的页面。所有页面都带有 .html 扩展名。(2) dbm map 中不存在的所有页面都是.HTML 页面,最后用/(或不带任何扩展名)访问时应该重定向到404 页面?

有人可以帮忙吗?

问候

4

1 回答 1

0

试着把它放在你的规则的顶部:

 RewriteCond %{THE_REQUEST} \.html/?\sHTTP
 RewriteRule ^ - [R=404]
于 2019-04-12T08:08:56.600 回答