.htaccess htaccess中的子域重定向

.htaccess htaccess中的子域重定向,.htaccess,mod-rewrite,subdomain,redirect,.htaccess,Mod Rewrite,Subdomain,Redirect,我想知道使用htaccess规则是否可以实现以下场景。 我希望将一个子域重定向到另一个url。 我已联系服务器管理员,将“test”子域添加到“example.com”域。 主域没有其他子域 我必须在htaccess中设置什么规则才能实现: 被重定向到 注意:www.something-else.com是一个复杂的url(长度为200个字符) 编辑 我的完整htaccess文件现在看起来像: Options +FollowSymLinks RewriteEngine on RewriteOpti

我想知道使用htaccess规则是否可以实现以下场景。 我希望将一个子域重定向到另一个url。 我已联系服务器管理员,将“test”子域添加到“example.com”域。 主域没有其他子域

我必须在htaccess中设置什么规则才能实现: 被重定向到

注意:www.something-else.com是一个复杂的url(长度为200个字符)

编辑 我的完整htaccess文件现在看起来像:

Options +FollowSymLinks
RewriteEngine on
RewriteOptions inherit
RewriteBase /

RewriteCond %{HTTP_HOST} ^test.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/redir.php [L]

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
htaccess文件位于example.com根目录下。 我没有对test子目录的物理访问权,尽管我知道它存在——ping到该url会显示example.com的IP

在浏览器的地址栏中键入test.example.com无效。白色屏幕,没有重定向,什么都没有。如果存在某个页面,我不知道。

对于静态URL:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC]
RewriteRule ^(.*)$ https://www.somdomain.com/a/folder1/somepage?var=xxx&var2=xxx&var3=xxx&var4=http://another-domain.com/folder1/xxxxx/?&var5=xxx&var6=xxxx [R=301,NC,L]
对于动态URL(如果原始域具有需要移动到其他域的文件夹):

从您的编辑:


@宙斯之书:但是你应该在最后删除
,P
,并删除%{REQUEST_URI}。我尝试了这个规则,它对我有效(当然是使用我的网站)。现在你能提供更多关于
无效的信息吗。白色屏幕,无重定向,无任何内容
,比如你能分享一个httpfox吗?可能子域设置不正确,或者something@Book当我在浏览器中键入子域地址时,它会显示一个白色屏幕。似乎有一个页面,但没有内容。如果我尝试访问test.example.com/index.htm,我会得到一个未找到的错误。url保持不变(test.example.com)日志上说了什么?test.example.com文件夹(any.htaccess?)中有什么?没有,它不起作用。乍一看,我认为重定向url破坏了htaccess。我将它放在一个php文件中,并更改htaccess以将子域重定向到php文件。仍然不起作用。RewriteCond%{HTTP\u HOST}^test.example.com$[NC]RewriteRule^(.*)$[R=301,NC,L]上的RewriteEngine仍然为空。我知道这应该行得通,但不行。我已经编辑了我的原始帖子以显示我的完全访问权限。我很困惑。一开始似乎很简单
RewriteEngine On
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC]
RewriteRule ^(.*)$ https://www.somdomain.com%{REQUEST_URI} [R=301,NC,L,QSA]
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^test.example.com$ [NC]
RewriteRule ^(.*)$ redir.php [R=301,NC,L]