.htaccess 重定向永久链接并加载相同的内容

.htaccess 重定向永久链接并加载相同的内容,.htaccess,url-redirection,.htaccess,Url Redirection,我目前正在为一个博客提供文章,永久链接的格式如下: 这是当前的.htaccess内容: # Permalinks RewriteEngine on # Articles (english url) RewriteRule ^articles/?$ /articles.php [QSA,L] RewriteRule ^articles/([a-z_-]+)/?$ /articles.php?cat=$1 [QSA,L] RewriteRule ^articles/([a-z_-]+)/([

我目前正在为一个博客提供文章,永久链接的格式如下:

这是当前的.htaccess内容:

# Permalinks
RewriteEngine on

# Articles (english url)
RewriteRule ^articles/?$ /articles.php [QSA,L]
RewriteRule ^articles/([a-z_-]+)/?$ /articles.php?cat=$1 [QSA,L]
RewriteRule ^articles/([a-z_-]+)/([0-9]+)/?$ /articles.php?cat=$1&id=$2 [QSA,L]
现在,我也在把所有的文章翻译成西班牙语,所以我想用西班牙语写一篇永久链接会更好。我需要设置别名,以便执行此重定向:

  • /articulos/zombies=>/文章/zombies
  • /articulos/zombies/48=>/文章/zombies/48
简而言之,所有包含/articulos/xyz/123的url请求都应该重定向到/articles/xyz/123,而不复制当前的htaccess结构。谢谢

试试这个:

# Permalinks
RewriteEngine on

RewriteRule ^articulos/(.*) articles/$1 [QSA,ENV=SPANISH:true]

RewriteRule ^articles/?$ /articles.php [QSA]
RewriteRule ^articles/([a-z_-]+)/?$ /articles.php?cat=$1 [QSA,L]
RewriteRule ^articles/([a-z_-]+)/([0-9]+)/?$ /articles.php?cat=$1&id=$2 [QSA,L]

Header set Set-Cookie "language=english; path=/;" env=!SPANISH
Header set Set-Cookie "language=spanish; path=/;" env=SPANISH

“在不复制当前htaccess结构的情况下”意思是?如果发生
/articulos/zombies=>/articles/zombies
重定向,您将如何提供西班牙语内容,因为URL已经与英语内容相同,即
/articles/zombies
@JonLin,我的意思是不复制整个重写规则结构。@anubhava非常好的一点。有一个?hl=en querystring变量。如果用户请求/articulos/效果很好,也许应该添加?hl=es!只要一个简单的问题,如果我需要发送?hl=es(仅当使用articulos/url时)以便我强制文章以西班牙语与该路线一起发送,那么应该添加什么?@andufo我在回答时更新代码。您只需在
articles.php