Mod rewrite Mod_重写重定向

Mod rewrite Mod_重写重定向,mod-rewrite,Mod Rewrite,我想我终于找到了修改的基本方法,但是我仍然有一些困难 我希望我的假设站点将(几乎)所有流量引导到home.html,home.html将解析SEO URL。这意味着/home、/home.html、/index.html、/somethingelse/gobledgegook都将转到home.html(不要担心传递GET变量,home文件稍后将解析整个URL) 以下是当前设置: Options +FollowSymLinks RewriteEngine on RewriteCond %{REQU

我想我终于找到了修改的基本方法,但是我仍然有一些困难

我希望我的假设站点将(几乎)所有流量引导到home.html,home.html将解析SEO URL。这意味着/home、/home.html、/index.html、/somethingelse/gobledgegook都将转到home.html(不要担心传递GET变量,home文件稍后将解析整个URL)

以下是当前设置:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !/something/I/want/to/preserve.html
RewriteRule ^(.*)$ /home.html [L]

这项工作非常出色。除了它作为重定向:浏览器中的URL变成“/home.html”。如何加载home.html页面,但保持URL不变?

我认为您应该尝试用以下内容替换您的规则:

RewriteCond %{HTTP_HOST} =www.staging.example.com
RewriteRule ^$ /abc-sp.html [PT,L]
请注意,“空白URL路径”测试现在在规则中完成,因此不需要原始的RewriteCond

[PT]告诉mod_rewrite将输出保留为“URL格式”,而不是将其转换为文件路径。因此,重写的URL请求可以由mod_代理接收并发送到后端

如果不起作用,则使用[p]标志代替[PT],并指定后端资源的URL,例如“http://192.168.0.2:8080/abc-sp.jsp”。[P]标志将通过put生成反向代理,就像您可能现有的配置文件mod_别名代码一样

请注意,上面的代码用于.htaccess或在容器内的配置文件中使用。如果在任何容器或.htaccess外部使用,请在RewriteRule模式中添加前导斜杠

希望我的回答有帮助!:~)

简单,使用:


您应该能够简单地将
p
标志添加到
重写规则
。见:


事实上,我认为@Cartsen的答案更正确,尽管我很确定我的答案会有效,但它会带来mod_proxy的开销。感谢@Carsten捕获代码格式。我错过了。
RewriteRule ^(.*)$ /home.html [PT,L]
    RewriteRule ^(.*)$ /home.html [PL]