我被要求创建一个现有的多语言网站.
为此做准备,我必须将所有现有页面从/ path/page移动到/ en/path/page
为了维护任何现有的传入链接,我现在需要设置htaccess重定向以将其原始URL中的任何请求发送到新的/ en/path/page网址,但是我无法使其工作.
这就是我现在拥有的;
RewriteCond %{REQUEST_URI} !^/en$
RewriteRule ^(.*)$ /en/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
我认为这是为了检查所请求的URI,如果它不是以/ en开头,那么在所请求的URI之前加上/ en ...但我显然是错误的,因为它不起作用.
任何帮助赞赏.谢谢.
UPDATE.由于这是一个ExpressionEngine站点,并且有一个额外的规则来删除URL的index.php部分这里都是规则
# Rewrite for new language based urls
# This is to try and get all current pages going to /en/(old url) with a 301 redirect
RewriteCond %{REQUEST_URI} !^/en(/.*)?$
RewriteRule ^(.*)$ /en/$1 [R=301,L]
# Removes index.php
RewriteCond $1 !\.(gif|jpe?g|png|ico)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我也用index.php之后的语言重写尝试了这个.我仍然陷入困境.