htaccess将文件夹重写为子目录

时间:2017-10-02 12:59:14

标签: .htaccess mod-rewrite

我在SO上读了另一篇文章,但它对我不起作用...... 我想访问https://VALUE.example.com - https://example.com/folder/VALUE/

目前提供的内容

我试过了:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^.example\.com$
RewriteRule ^folder/([^/]+)/?$ https://$1.example.com/ [NC,R=301,L]

但它没有工作......任何想法?

我将此作为参考:Rewrite folder to subdomain

1 个答案:

答案 0 :(得分:1)

我已经重新定义了你的代码:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^/?folder/([^/]+)(/.*)?$ https://$1.example.com/ [R=301,NC,L]

在你的第二行,.上有很多,所以example.com(没有www。)无法正常工作。您可以将两个RewriteCond行合并为一个。最后但并非最不重要的,如果原始网址还有其他内容,例如https://example.com/folder/VALUE/something-here比它也无法工作。

另外一句话:整个事情只有在您的服务器上启用mod_rewrite且允许您使用htaccess文件(使用mod_rewrite)时才会起作用,但情况并非总是这样。