子目录中的页面仅重定向到该子目录

猩猩

我的网站位于两个目录中,默认目录为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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章