2014-11-06 67 views
1

我目前服務的文章的博客,與固定鏈接格式如下:重定向固定鏈接並加載相同的內容

這是當前的.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] 

現在,我也把所有的文章翻譯成西班牙文,所以我認爲有一個PE西班牙語中的鏈接將會更好。我需要建立一個別名,使這種重定向情況:

  • /articulos /殭屍=>/文章 /殭屍
  • /articulos /殭屍/ 48 =>/文章 /殭屍/ 48

在更少的話,包含/articulos/XYZ所有URL請求/ 123應重定向到/articles/xyz/123而不復制當前的htaccess結構。謝謝!

+1

什麼是 「不復制當前htaccess的結構」 是什麼意思? – 2014-11-06 07:25:41

+0

如果'/ articulos/zombies =>/articles/zombies'重定向發生了,你將如何提供西班牙文內容,因爲URL已經變得與英文相同,即'/ articles/zombies' – anubhava 2014-11-06 07:51:01

+0

@JonLin我的意思是沒有複製整個重寫規則結構。 – andufo 2014-11-06 13:54:02

回答

1

試試這個:

# 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 
+0

工作很好!只是一個簡單的問題,如果我需要發送?hl = es(僅在使用關鍵字/網址時)應添加什麼內容,以便我可以強制文章以該西班牙文的形式發送? – andufo 2014-11-06 14:25:07

+0

@andufo我在我的答案更新代碼。你可以在'articles.php'中檢查語言cookie – makhov 2014-11-06 21:59:47

相關問題