我想要一个正则表达式,用/更换.html文件扩展名www.example.com/page.html成为www.example.com/page/。我还要从此规则中排除某个文件夹,以便排除www.example.com/specialdir/中的任何内容。
编辑:这将用于php
答案 0 :(得分:3)
最好使用htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.html [L,QSA]
来源:Snipplr
因此,它会将服务器端的所有http://somesite/someurl更改为http://somesite/someurl.html。
答案 1 :(得分:1)
搜索
(www\.example\.com/(?!specialdir/).*)\.html$
并将所有内容替换为\1
或$1
,具体取决于您的正则表达式实现。
编辑:在PHP中:
$result = preg_replace('%(www\.example\.com/(?!specialdir/).*)\.html$%', '\1', $subject);