Htaccess重写删除点的规则

时间:2015-11-04 18:02:14

标签: .htaccess mod-rewrite url-rewriting

感谢您的帮助。我一直试图解决这个问题一小时。

我有这个Htaccess会将/file.html重写为脚本,但决定删除扩展名,结果如下:

select * from books b where b.room_id = x

但是,现在我需要它也可以使用包含点的文件名(即/file.with.dots),但该规则不允许它。

这个适用于带点但以.html结尾的文件

RewriteEngine On
#RewriteRule ^([^/]*)\.html$ /?file=$1 [L]
RewriteRule ^([^\.]+)$ /index.php?file=$1 [NC,L]

这会让我遇到内部服务器错误

#RewriteRule ^(.*)\.html$ /index.php?file=$1 [NC]

1 个答案:

答案 0 :(得分:0)

你可以这样做。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/?$ /index.php?file=$1 [NC,L]

让我知道结果。