小编foa*_*cow的帖子

在htaccess中设置条件重定向

我被要求创建一个现有的多语言网站.

为此做准备,我必须将所有现有页面从/ 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之后的语言重写尝试了这个.我仍然陷入困境.

.htaccess redirect

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

.htaccess ×1

redirect ×1