我正在尝试将foo.bar.com
重定向到bar.com/foo.php
,但我不知道从哪里开始,到目前为止其他一切都让我失望了。我在StackOverflow上尝试了很多东西,但它们似乎都没有工作(只是各种Apache错误)。
我已经有一个从cPanel设置的通配符子域,但我不确定从哪里开始。 .htaccess甚至是最好的选择吗?
编辑:我还想重写从bar.com/foo.php
到foo.bar.com
的网址。
答案 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]