3

我在我的网络主机上设置了一个子域,如下所示:

en.domain.com     pointing to the folder     /en/

但是在地址栏中输入“en.domain.com”时,URL 变为

domain.com/en/

如果我进一步导航,假设文件夹“aaa”,URL 变成

domain.com/en/aaa/

有没有办法让子域留在地址栏中,像这样?:

en.domain.com/aaa/
4

1 回答 1

4

我尝试了一切,没有人能帮助我。经过大量研究,我发现了这一点,它对我有用。所以这是我自己的答案,这可能会帮助其他人寻找相同的东西。

这将使显示子域(“en.domain.com”)的 URL 在地址栏中不会更改,即使有人输入“domain.com/en/”,它也会将 URL 重写为“en.domain”。 com":

RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteRule ^en(/(.*))? http://en.domain.com/$2 [QSA,L,R=301]

这将破坏您网站的路径,导致样式和图像不会显示。因此,您需要根据每个页面在站点结构中的位置,将其放入站点每个页面的 HTML 代码中:

对于文件夹“en”中的页面:

<head>
<base href="http://domain.com/en/" />
</head>

对于文件夹“aaa”中的页面:

<head>
<base href="http://domain.com/en/aaa/" />
</head>

对于文件夹“bbb”中的页面:

<head>
<base href="http://domain.com/en/aaa/bbb/" />
</head>

不客气!:-)

于 2013-09-17T20:03:18.340 回答