结合 htaccess 用于多个重写规则

combining htaccess for multuple rewrite rules

是否可以在 htaccess 文件中组合重写规则?

我现在的那个改变了我的链接,这样如果有人进入 /media 它会重写以添加 media.html。

我想补充一点,将我的非 www 主页重定向到 www。

如何添加(example.com 是 mywebsitename.com)

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/ [L,R=301,NC]

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ .html

只是为了清除它,您不需要两次打开重写引擎。您只需要按照开始时列出的顺序添加规则。

RewriteEngine on
#redirect nonwww to www
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/ [L,R=301,NC]
#remove html extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ .html [L]

也许这有助于消除混乱。您的 htaccess 文件可以包含您需要的任意数量的规则。您只需要注意不要造成任何冲突。