.htaccess重定向主域而不是子域

时间:2015-04-09 10:55:33

标签: apache .htaccess mod-rewrite redirect

我有域名mydomain.co和mydomain.com 在mydomain.co我想安装YOURLS。

它工作得很好,但我想创建这样的重定向。

example.org - > R301 - > example.com

example.org/* - > /yourls-loader.php

我有类似的东西,但它不起作用:(

<IfModule mod_rewrite.c>                                                                                                                                                                                           
RewriteEngine On                                                                                                                                                                                                   
RewriteCond %{HTTP_HOST} ^(www.)?example.org                                                                                                                                                                          
RewriteRule ^$ http://example.com [L,R=301]                                                                                                                                                                     
#RewriteBase /                                                                                                                                                                                                     
RewriteCond %{REQUEST_FILENAME} !-f                                                                                                                                                                                
RewriteCond %{REQUEST_FILENAME} !-d                                                                                                                                                                                
RewriteRule ^.*$ /yourls-loader.php [L]                                                                                                                                                                            
</IfModule>

.htaccess文件应该如何查找我的配置?

2 个答案:

答案 0 :(得分:1)

最后,我已经开始工作了。

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /
  RewriteCond %{HTTP_HOST} ^(www.)?example.org [NC]
  RewriteCond %{REQUEST_URI} ^/(.+)$
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !^/admin
  RewriteRule ^(.*)$ /yourls-loader.php [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} !^/admin
  RewriteRule ^(.*)$ http://example.com [R=301,L]
</IfModule>

答案 1 :(得分:0)

你可以简单地使用:

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

并且具有子域的所有内容都会重定向到没有子域的内容。其余的保持不变。