Apache mod_rewrite改变文件扩展名

时间:2011-05-04 16:52:30

标签: regex apache mod-rewrite

我想将所有请求更改为扩展名为.user.js的文件,并将其设置为.php。 我有这段代码:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule /([^/]*)\.user\.js$ $1.php [R,NC]

</ifModule>

遗憾的是,这不起作用。 我知道mod_rewrite已加载,因为如果我这样做:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule /([^/]*)\.user\.js$ $1.php [R,NC]
s
</ifModule>

它返回状态代码500.所以我相信我的问题在于正则表达式 我想要的例子:

GET /foo/bar/preetyuserscript.user.js

变得

GET /foo/bar/preetyuserscript.php

2 个答案:

答案 0 :(得分:2)

我认为这会奏效:

RewriteRule ^(.*?)\.user\.js$ $1.php

如果没有,您继续看到500错误,请查看错误日志。永远是第一个退房的地方。

答案 1 :(得分:1)

正确的RewriteRule应该是:

RewriteRule ^([^.]*)\.user\.js$ /$1.php [R,L,NC]