如何使用 apache mod_rewrite 重写整个目录?

如何使用 apache mod_rewrite 重写整个目录?

我需要这个 URL/目录make/lores/some/来指向/映射到login/ 我还需要重写.php扩展.html

例子

当客户端在example.com/make/lores/some/login.html服务器中键入时应该process example.com/login/login.php.

我有下面的规则,但问题是登录目录下的其他文件(例如/login/images/one.png等)没有被处理/重写,所以我最终遇到了 404 错误。

RewriteRule     ^(.*)\.htm$     login/index.php [NC]

答案1

也许是这样的:

RewriteEngine on
RewriteRule   ^/make/lores/some/(.+)  http://example.com/login/$1      [R,L]

这将处理对新 URL 的重写。要更正从.html到 的扩展名,.php您可以使用第二条规则:

RewriteRule   ^/login/(.+)\.htm$      http://example.com/login/$1.php  [R,L]

参考

相关内容