繁体   English   中英

Apache2:使用循环重写的mod_rewrite

[英]Apache2: mod_rewrite with circular rewriting

我想通过以下方式为特定子域加载private站点,而不创建新的虚拟主机(用于不创建和重复虚拟主机配置):

  • 用户写priv.mydomain.com
  • mod_rewrite将/ priv附加到URL而不进行重定向。
  • Alias指令获取/ priv并加载/ other_system_path / private
  • private页面已加载,但用户看不到URL的任何更改。

我当前的配置如下(在适当的虚拟主机内部):

Alias /priv /other_system_path/private

RewriteEngine on
RewriteCond %{HTTP_HOST} ^priv\.mydomain\.com$
RewriteRule (.*) /priv [PT]

如果我没记错的话, PT标志是用于重复URL映射的过程,因为priv. ,它再次变成了RewriteRule priv. 保留在URL中。

我该如何实现?

如果我没记错的话,PT标志是用于重复URL映射的过程,因为priv,它再次变成了RewriteRule。 保留在网址中

您可以通过添加以下条件来跳过子请求的规则

RewriteCond %{IS_SUBREQ} false

根据手册

IS_SUBREQ

如果当前正在处理的请求是子请求,则将包含文本“ true”,否则将包含“ false”。 子请求可能由需要解析其他文件或URI才能完成其任务的模块生成。

ps:而且,我认为您需要RewriteRule ^/?(.*)$ /priv/$1 [PT] ,以便将任何请求转换为正确的请求,而不仅仅是别名的“根”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM