【问题标题】:How to keep sub domain url instead of main domain url using htaccess?如何使用 htaccess 保留子域 url 而不是主域 url?
【发布时间】:2014-09-18 08:52:35
【问题描述】:

我想从子域重定向到主域,使用 htaccess 将子域保留在地址栏中。我尝试了以下代码

RewriteEngine On

RewriteCond %{HTTP_HOST} ^advertiser\.(xxxx\.com)$ [NC]
RewriteRule ^dashboard/?$ http://www.xxxx.com/en/index.php/publisher/dashboardadvtsr [L,NC,R=301]

通过使用此代码,当我们在地址栏中写入“advertiser.xxxx.com”时,它会重定向到链接“http://www.xxxx.com/en/index.php/publisher/dashboardadvtsr”。我想在地址栏中保留“advertiser.xxxx.com”。如何使用 htaccess 做到这一点?

【问题讨论】:

  • 两个域是否都指向同一个 DocumentRoot?
  • 那么……不要重定向?只需处理请求无需重定向!?
  • @anubhava 两个域都在 public_html(server)
  • @deceze 我们从 RewriteRule 中删除了 xxxx.com,但它重定向到了 ads.xxxx.com/en/index.php/publisher/dashboardadvtsr 并显示 404 错误

标签: php apache .htaccess


【解决方案1】:

由于两个域都在 public_html 中,您可以使用此规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^advertiser\.xxxx\.com$ [NC]
RewriteRule ^dashboard/?$ /en/index.php/publisher/dashboardadvtsr [L,NC]

【讨论】:

  • 但它重定向到advertisingr.xxxx.com/en/index.php/publisher/dashboardadvtsr 并显示404错误
  • 您是否看到浏览器中的 URL 发生了变化,或者它在内部路由到了 advertiser.xxxx.com/en/index.php/publisher/dashboardadvtsr
  • 它的 URL 在浏览器中改变了。
  • 我的规则没有这样做,因为我没有R 标志。您需要在新浏览器中测试或清除浏览器缓存。
  • 我删除了R标志。然后浏览器中的url保持为'advertisor.xxxx.com/dashboard'。但显示404错误。子域文件夹'advertisor'和另一个文件夹'en',两者都在 public_html 中。 htacess 文件位于“广告商”内。“en”包含主项目。是否可以从“广告商”内的 htacess 重定向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
  • 2017-04-15
相关资源
最近更新 更多