我将一个子域重写到我的站点上的一个部分:
指向https://example.com/section.php?url=music
RewriteCond %{HTTP_HOST} ^music.example.com
RewriteRule ^(.*)$ section.php?url=music/$1 [L,NC,QSA]
但是我需要为这个(和其他)子域使用相同的图像,css等。https://example.com/images/img.jpg
应该可以从https://music.example.com/images/img.jpg
访问
我试图找到一个解决方案,但我可能没有做正确的搜索。
1条答案
按热度按时间bqjvbblv1#
此规则 * 在内部重写 *(不是“重定向”)
music.example.com/<anything>
的请求到section.php?url=music/<anything>
。即,所有内容,包括所有图像和CSS等。这比您的描述中所述的要多得多,您只希望根目录“指向”https://example.com/section.php?url=music
。如果您只想重写根目录,则将regex
^(.*)$
限制为只匹配根目录。例如:
注意:不要忘记反斜杠转义正则表达式中的文字点。
现在,除了对子域的根目录的请求(即仅
https://music.example.com/
)之外,这自然排除了重写其他所有内容。.htaccess将所有内容从子域重定向到域
如上所述,这是一个内部的“重写”,而不是外部的“重定向”。而且这种从子域到域的重写也不会发生。请求的主机名不会改变,并且假设子域和域顶点都指向文件系统上的同一个位置。