mod_rewrite a .html到子域

时间:2013-03-23 09:08:44

标签: php apache mod-rewrite

早上好,

我真的希望有人可以提供帮助。我已经将一个html网站重新开发成一个php网站,我想使用mod_rewrite。

我可能真的很蠢(你可以看到,虽然我对此很陌生!)但是我答应我已经google了但看不到答案。

我需要做的是将旧的糟糕的.html文件重定向到虚拟子域。

所以Example.html需要转到example.mydomain.co.uk(我只有几页,所以我想我可以在不使用表达式的情况下逃脱。)

我尽可能接近:

RewriteEngine On    # Turn on the rewriting engine
RewriteBase /
RewriteRule example.html$ ^example\.mydomain\.co.uk [R=301,NC]

但这只是mydomain.co.uk \%5eexample.mydomain.co.uk。我已经找到了大量的例子,然后将域推送到php,以便位将它排在第一位!

许多人提前感谢你的帮助。

问候,艾伦

2 个答案:

答案 0 :(得分:1)

如果你想要只以a-z小写字母开头的任何东西被重定向到子域,那么这就行了:

RewriteRule ^([a-z]+)\.html$ $1.mydomain.co.uk [R=permanent]

但是,您需要仔细考虑是否存在任何不得重定向的.html文件。在这种情况下,您需要确定是否存在可以轻松避免的模式,在这种情况下,可能只需要更改正则表达式。如果没有允许您轻松避免这些非重定向页面的模式,那么您可能需要使用RewriteCond并为要避免重定向的每个页面添加检入。

答案 1 :(得分:0)

试试这个:

# Turn on the rewriting engine
RewriteEngine On
RewriteBase /
RewriteRule ^([^.]+)\.html   http://$1.mydomain.co.uk/  [R=301,NC,L]