doushupu2521 2019-06-23 19:44
浏览 68
已采纳

如何使用htaccess将URL重定向到动态子域?

First of all.I would like to ask that how to make subdomain redirection using htaccess. www.samcheck.com/www/google.com to google.com.samcheck.com

I have tried all the solution available on the stackoverflow.But none of the solutions worked for me.

As well as the URL is https://sampcheck.com/www/google.com , I want it to be https://google.com.sampcheck.com so that it shows the content of main url. Thank in advance :)

RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule . index.php [L]
        RewriteCond %{HTTP_HOST} ^.sampcheck.com
RewriteCond %{HTTP_HOST} www\.([^.]+)\.sampcheck\.com [NC]
RewriteRule ^(.*)$ http://sampcheck.com/www/$1 [L,NC,QSA]
  • 写回答

1条回答 默认 最新

  • dongpigui8898 2019-06-23 21:41
    关注

    In addition to my comments to the question and my puzzlement what sense such host naming scheme should make (except for cheap phishing attempts), here is something that should point you into the right direction:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www\.samcheck\.com$
    RewriteRule ^/?www/([^/]+)/?$ https://www.$1.sampcheck.com/ [R=301]
    

    It is a good idea to start out with a 302 temporary redirection and only change that to a 301 permanent redirection later, once you are certain everything is correctly set up. That prevents caching issues while trying things out...

    Also note that such redirection can only work if you actually have valid certificates for those dynamic host names...

    This rule will work likewise in the http servers host configuration or inside a dynamic configuration file (".htaccess" file). Obviously the rewriting module needs to be loaded inside the http server and enabled in the http host. In case you use a dynamic configuration file you need to take care that it's interpretation is enabled at all in the host configuration and that it is located in the host's DOCUMENT_ROOT folder.

    And a general remark: you should always prefer to place such rules in the http servers host configuration instead of using dynamic configuration files (".htaccess"). Those dynamic configuration files add complexity, are often a cause of unexpected behavior, hard to debug and they really slow down the http server. They are only provided as a last option for situations where you do not have access to the real http servers host configuration (read: really cheap service providers) or for applications insisting on writing their own rules (which is an obvious security nightmare).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装