通配符子域重定向到文件

时间:2015-11-06 22:42:02

标签: php apache .htaccess

我正在尝试将foo.bar.com重定向到bar.com/foo.php,但我不知道从哪里开始,到目前为止其他一切都让我失望了。我在StackOverflow上尝试了很多东西,但它们似乎都没有工作(只是各种Apache错误)。

我已经有一个从cPanel设置的通配符子域,但我不确定从哪里开始。 .htaccess甚至是最好的选择吗?

编辑:我还想重写从bar.com/foo.phpfoo.bar.com的网址。

1 个答案:

答案 0 :(得分:2)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此通用规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^(?:www\.)?domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.(.+)$ [NC]
RewriteRule ^/?$ http://%2/%1.php [L,R=302]

编辑:要隐藏重写的网址(内部重写),请使用以下命令:

RewriteCond %{HTTP_HOST} !^(?:www\.)?domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.(.+)$ [NC]
RewriteRule ^/?$ %1.php [L]