从URL删除.htm

时间:2010-09-16 19:10:53

标签: apache mod-rewrite

我正在尝试创建一个mod_rewrite规则,该规则将删除任何附加到被放入的URL的.htm。例如,如果有人在example.com/faculty/jim.htm中输入,我想要drupal到忽略.htm,然后转到example.com/faculty/jim页面。任何mod_rewrite专家可以伸出援手吗?我可以使用.htaccess中的默认drupal重写代码来改变:

# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

提前致谢。

1 个答案:

答案 0 :(得分:3)

未经测试,但正在进行

RewriteRule ^(.*)\.htm$ $1
之前标准的drupal重写规则应该这样做。

如果您希望仅触发非现有文件,则可以添加与主Drupal重写规则相同的条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.htm$ $1

这些条件检查REQUEST_FILENAME是否是现有文件或目录。