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).

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

报告相同问题?

悬赏问题

  • ¥15 给我一个openharmony跑通webrtc实现视频会议的简单demo项目,sdk为12
  • ¥15 vb6.0使用jmail接收smtp邮件并另存附件到D盘
  • ¥30 vb net 使用 sendMessage 如何输入鼠标坐标
  • ¥15 关于freesurfer使用freeview可视化的问题
  • ¥100 谁能在荣耀自带系统MagicOS版本下,隐藏手机桌面图标?
  • ¥15 求SC-LIWC词典!
  • ¥20 有关esp8266连接阿里云
  • ¥15 C# 调用Bartender打印机打印
  • ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题
  • ¥50 C#编程中使用printDocument类实现文字排版打印问题