【发布时间】:2014-11-08 14:50:32
【问题描述】:
我将网站网址更改为接受不同的语言,因此,我将网站内容移动为默认语言
从:www.site.com 到:www.site.com/en
现在,我从 php 进行重定向,如果 $_GET['lang'] 不存在或 $_GET['path'] 存在,重定向到 site.com/en 或 site.com/en/(path) 但我认为 301 重定向从根到文件夹更好。
我该如何编写这条规则?
这是我的 htaccess 文件:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule ^download/(.*)$ php/download.php?id=$1 [L]
# with language
RewriteRule ^([a-z]{2})/p/(.*)$ single.php?lang=$1&hash=$2 [L]
RewriteRule ^([a-z]{2})$ index.php?lang=$1 [L,NC,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ index.php?path=$1 [NC,L,QSA]
谢谢
【问题讨论】:
-
需要澄清一下。什么是 URL 示例以及应如何处理这些 URL。
标签: php apache .htaccess mod-rewrite redirect