我想将所有域从特定目录重定向到新的子域(不可见)。
例如example.com/literal/some/path/to/file.html
->sub.example.com/literal/some/path/to/file.html
并且
www.example.com/literal/some/path/to/file.html
->
www.sub.example.com/literal/some/path/to/file.html
其中“文字”应该是恒定的,其后的任何内容都是任意的。
我尝试过
RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com/literal RewriteRule ^(.*)$ http://sub.example.com/$1 [L]
但我无法正确选择所有选项。如能提供任何帮助,我将不胜感激。
答案1
这HTTP 重定向是一种可见的方法,它会导致浏览器转到其他地方,因此根据定义,它控制着你的看不见地出。根据您喜欢哪一个以及是否是同一服务器上的新子域,您有三个备选选项。
像这样的重定向可以用mod_alias
Redirect
。这将改变地址栏上的位置。如果内容位于同一台服务器上,而你想隐形重写 URL,则mod_rewrite的
RewriteCond
和RewriteRule
是合适的。只需使用本地路径,而不是http://
您RewriteRule
的代换。如果你需要外部服务器上的内容
sub.example.com
,但又不想改变位置,你需要设置一个反向代理 和mod_proxy。
一旦您决定了,您的用例就是教科书案例:您可以从任何链接的文档中找到合适的示例。