子域的.htaccess URL重定向

时间:2018-02-09 10:46:32

标签: apache .htaccess redirect mod-rewrite

如何使用.htaccess将所有查询从子文件夹重定向到子域?

包含查询字符串(在“/?”之后)。

这应该对SEO友好(生成301)。

示例:

https://example.com/app/?r=dl/catalog/show&param=1 

重定向到

https://sub.example.com/app/?r=dl/catalog/show&param=1 

谢谢!

1 个答案:

答案 0 :(得分:1)

app/.htaccess内,您可以使用此规则:

RewriteEngine On

# works on Apache 2.4+ 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.com)$ [NC]
RewriteRule ^ %{REQUEST_SCHEME}://sub.%1%{REQUEST_URI} [L,R=301,NE]

如果您使用较旧的Apache 2.2,请改用此规则:

RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ http%1://sub.example.com%{REQUEST_URI} [L,R=301,NE]

参考文献: