从url中去除.html

3
我想从网站的所有URL中删除.html,我正在使用x-cart,并希望使用.htaccess实现这一点。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
</IfModule>

我使用了这段代码,但它没有起作用。
3个回答

1

use like:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)/?$ $1.html [NC,L]

@Starkeen — OP已确认它无效,这本身并不是一个很好的理由。然而,这个答案本身没有解释清楚,额外的行是做什么的,这可能会在不知道它们对OP系统的影响时实现这些更改是危险的。 - Alexander Wigmore

0

你可以使用这个来隐藏.html

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]

0

您可以使用:

# remove html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R=301,L]

# add html but only if file exist with html and not without
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^ %{REQUEST_URI}.html [L]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接