首页 > 解决方案 > .htaccess 子域的重写规则

问题描述

我想在我的 .htaccess 中编写一条规则来重写 url 以使我的子域能够显示我网站中页面的内容。

例如,我想http://subdomain.example.org/page显示页面的内容http://example.org/subdomain/page

我试图写一些如下规则,但没有奏效

RewriteCond %{HTTP_HOST} ^subdomain.example.org$
RewriteCond %{REQUEST_URI} !^/subdomain/
RewriteRule ^(.*)$ /subdomain/$1 [L] 

RewriteCond %{HTTP_HOST} ^subdomain.example.org$ [NC]
RewriteRule ^((?!subdomain).*)$ example.org/subdomain/$1 [NC,L]

这些规则最终会引发内部服务器错误

我也尝试了最后一条规则

RewriteCond %{HTTP_HOST} subdomain.example.org
RewriteRule ^(.*)$ http://example.org/subdomain$1 [L]

但是这条规则最终会重定向到http://example.org/subdomain而不是只显示页面的内容,同时保留 url。

编写规则的正确方法应该是什么?

标签: apache.htaccessurl-rewritingsubdomain

解决方案


推荐阅读