我试图找到一个mod_rewrite代码,强制用户去FQDN被重写为主机名没有域,不希望他们被困在一个循环。我只能找到重写的例子反过来。任何人都有一个建议,我如何才能做到这一点?例如,如果我去http://appname.example.com/test.php重写的URL应为http://appname/test.php任何建议都很好。
http://appname.example.com/test.php
http://appname/test.php
ergxz8rk1#
要将http://<appname>.example.com/<url-path>“重定向”到http://<appname>/<url-path>(其中<appname>和<url-path>是完全可变的,并且<appname>也是本地网络上的可解析主机名),您需要在根.htaccess文件的顶部使用mod_rewrite执行以下操作:
http://<appname>.example.com/<url-path>
http://<appname>/<url-path>
<appname>
<url-path>
.htaccess
RewriteEngine On RewriteCond %{HTTP_HOST} ^(?!www\.)([a-z-]+)\.example\.com [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=302,L]
这将使用负前瞻排除www子域。
www
%1
%{REQUEST_URI}包含完整的根相对URL路径(以斜杠开头)。这也处理FQDN(以点结尾)。
%{REQUEST_URI}
1条答案
按热度按时间ergxz8rk1#
要将
http://<appname>.example.com/<url-path>
“重定向”到http://<appname>/<url-path>
(其中<appname>
和<url-path>
是完全可变的,并且<appname>
也是本地网络上的可解析主机名),您需要在根.htaccess
文件的顶部使用mod_rewrite执行以下操作:这将使用负前瞻排除
www
子域。%1
是对从请求的 hostname 捕获的<appname>
的反向引用。%{REQUEST_URI}
包含完整的根相对URL路径(以斜杠开头)。这也处理FQDN(以点结尾)。