首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用目录重定向域名

问如何用目录重定向域名
EN

Stack Overflow用户
提问于 2015-10-23 06:13:04
回答 2查看 159关注 0票数 1

我有一个在线项目,它在两个不同的领域,1)www.example.com和2)www.example.co.in。现在,我想重定向

代码语言:javascript
复制
www.example.co.in/category/

至

代码语言:javascript
复制
www.example.com/ceramic+industry/

我想通过服务器通过.htaccess 或重定向它。我试过从服务器上重定向域名而不是目录,也尝试从.htaccess中重定向域,或者只有当域和目录结合时才能重定向。我在php的项目。因此,如果在php中也有可能,您可以给出建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-23 06:32:11

在.htaccess中添加以下规则(放置在网站www.example.co.in的根目录下):

代码语言:javascript
复制
Options +FollowSymlinks
RewriteEngine On

RewriteRule ^category/(.*)$ http://www.example.com/ceramic+industry/$1 [L,R=301]

或者使用302进行临时重定向。

如果您还想将整个.co.in网站重定向到.com,那么添加下一行(请记住,在.com网站的.htaccess中,这两条规则不应该存在)。

代码语言:javascript
复制
RewriteRule ^category/(.*)$ http://www.example.com/ceramic+industry/$1 [L,R=301]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

如果由于任何原因,您必须在两个站点上使用相同的.htaccess,那么请使用这样的条件:

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^category/(.*)$ http://www.example.com/ceramic+industry/$1 [L,R=301]

RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

============================================================

另一个查询的解决方案:

这可以通过PHP来完成。正如我所猜测的,在category/被一个PHP页面处理之后,所有的URL。

在PHP页面代码中,以下代码位于顶部:

代码语言:javascript
复制
if(isset($_GET['company'])){
   $company=$_GET['company'];
   $companyNew=str_replace('_','+',$company);
   if($company!=$companyNew){
      header("location:/category/?company="+$companyNew,true,301);
      //header("location:/ceramic+industry/?company="+$companyNew,true,301);
      exit;
   }
}
票数 1
EN

Stack Overflow用户

发布于 2015-10-23 06:32:07

你可以试试这个:

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} ^your.first.domain$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ http://your.second.domain/$1 [R,L]

如果请求包含现有目录名,这将重定向。

回答你的评论。你可以试试这个:

代码语言:javascript
复制
RewriteCond %{ENV:REDIRECT_FINISH} !^$
RewriteRule ^ - [L]
RewriteCond %{QUERY_STRING} ^company=(.*)\_(.*)$
RewriteRule ^(.*)$ /$1?company=%1+%2 [R,L,E=FINISH:1]

前两行允许您防止无限循环重定向。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33295898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档