2012-11-17 45 views
0

我想要使用mod_rewrite进行重定向。使用mod_rewrite进行基本重定向

当有人打开http://aswt.mobileworldindia.com 那么他们将被自动重定向到http://www.mobileworldindia.com/panels/mobile/index.php?subdomain=aswt

请注意:http://aswt.mobileworldindia.com不是实际的子域名,并在所有不存在既不我想拥有它。我只想在我的网站中进行重定向。

试过下面的代码,但没有工作,任何人都可以告诉我我错在哪里。

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(.+)\.sellingsellingsold\.co.uk$ 
RewriteRule ^$ /index.php?subdomain=%1 [L,R=301] 

这是上sellsellingsold的根,我试图打开http://aswt.sellingsellingsold.co.uk。 请帮我把它排序。自从我尝试实现重定向以来已经过了2周。

+0

这对'php'没有帮助。重写是由http服务器内部加载的模块完成的。我建议你阅读优秀的手册。然后尝试一下,如果你没有成功发布你的尝试。 http://httpd.apache.org/docs/current/mod/mod_rewrite.html – arkascha

+0

我想指出重写与重定向不同。重写只会提供一个与所显示网址不同的URL,重定向会完全将您带到另一个网址。 – Maccath

回答

1

在主服务器配置中或在.htaccess文件中有这样的内容。使用服务器配置是首选和更可靠的。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(aswt)\.mobileworldindia\.com$ 
RewriteRule ^$ /panels/mobile/index.php?subdomain=%1 [L,R=301] 

如果你想从任何可能的子域而不是“aswt”重定向。使用(。+)而不是(aswt)。

+0

出于好奇,为什么更喜欢使用服务器配置?我以前从未听说过。当然它不太可靠,因为.htaccess会覆盖它。 – Maccath

+1

.htaccess文件只能在中央服务器配置中明确允许(启用)时覆盖它。那是行为被控制的地方。除此之外,语法略有不同(在某些情况下更容易),并且不那么令人困惑,因为您将重写规则放在一个位置,而不是将它们分散到不同的文件中,您必须考虑。 .htaccess文件被无意中删除或在更改事物时被遗忘。最重要的是:只能在中央服务器配置中使用重写日志记录。 – arkascha

+0

@arkascha - 这不是我的朋友。我已经测试过它。你能给我更新modrewrite代码,其中aswt是硬编码并保持固定 – Asnexplore