Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess-默认情况下添加语言子目录;sv/;(重定向)_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess-默认情况下添加语言子目录;sv/;(重定向)

.htaccess-默认情况下添加语言子目录;sv/;(重定向),.htaccess,mod-rewrite,.htaccess,Mod Rewrite,为了在.htaccess丛林中定位自己,我现在将重写问题归结为一个问题——在进入页面时添加语言后缀/键入没有语言后缀的地址 例如:访问者键入mysite.com/kontakt。这将使他们使用网站的默认语言,即mysite.com/sv/kontakt。或者,只要输入mysite.com就可以将他/她带到mysite.com/sv/ 我正在使用MAMP本地开发这个站点,该站点位于一个子目录中,这里是棘手的部分。。。如何在.htaccess文件中对此进行排序 使用的当前代码: RewriteBas

为了在.htaccess丛林中定位自己,我现在将重写问题归结为一个问题——在进入页面时添加语言后缀/键入没有语言后缀的地址

例如:访问者键入mysite.com/kontakt。这将使他们使用网站的默认语言,即mysite.com/sv/kontakt。或者,只要输入
mysite.com
就可以将他/她带到
mysite.com/sv/

我正在使用MAMP本地开发这个站点,该站点位于一个子目录中,这里是棘手的部分。。。如何在.htaccess文件中对此进行排序

使用的当前代码:

RewriteBase /mysite/  
RewriteCond %{REQUEST_URI} !^(sv|en)  
RewriteRule ^(.*)$ sv/$1 [L,R=301]
这将我从
localhost/mysite/
带到
localhost/sv/
。不完全正确。

试试这个:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /mysite/

RewriteRule ^(?!(?:sv|en)/)(.*)$ sv/$1 [R=301,L]
  • 需要将其放入.htaccess文件的/mysite/文件夹中

  • 如果访问
    localhost/mysite/sv
    时不带斜杠,则规则会将其重定向到
    localhost/mysite/sv/sv
    ,因为它希望语言部分(
    sv
    en
    )后面跟着斜杠

  • p.S.
    并且考虑建立一个虚拟主机——那么通过
    http://localhost/mysite/sv/kontakt
    (我相信您会同意,
    http://mysite.dev/sv/kontakt
    声音和外观更好)。

    它可以工作!非常感谢懒人!是的,我应该考虑设置VirtualHost,但是对于本周的client showcase,我需要让它在一个子目录中工作,因为live站点也将使用该结构。