我的网站位于两个目录中,默认目录为on root
,另一个目录为root/en
。有没有办法在.htaccess中告诉我们单击root/en
版本的每个链接都重定向到root/en
?
例如,我在默认安装中有一个链接指向root/news
。现在,如果用户位于root/en
并单击此链接,它将把他重定向到root/en/news
。
我们/en
的原始链接之前总是有前缀。还是我必须手动更改所有链接?
由于两个目录中的文件相同,因此重写将不起作用,或者会变得非常复杂。因此,除非更改所有链接,否则Apache将不知道如何确定单击了哪个链接。更改页面中所有链接的基本URL的快速方法是使用<base>
标记。请注意,它也会更改所有相对资源(例如css,javascript和图像)的基本URL。
如果页面中的链接是相对的(即,它们没有http://www.example.com部分),则可以使用<base>
标记来设置页面上所有资源的基本URL。请参阅:http://www.w3schools.com/tags/tag_base.asp
/ en /目录中的所有页面均应具有<base>
用于设置基本URL的标签,并且链接应以开头/
。
例子:
<html>
<head>
<base href="http://example.com/en/">
</head>
<body>
<a href="/news.php">news</a>
</body>
</html>
这是一个apache重定向到子目录的示例,但我认为它在yoru情况下不起作用。浏览器将无法通过以下方式访问/目录中的任何内容:
RewriteEngine on
RewriteRule ^$ en [L]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句