.htaccess文件中的双重规则

时间:2016-05-11 02:37:07

标签: apache .htaccess mod-rewrite

我有这些.htaccess规则:

RewriteEngine On

# Redirect to region page (xxxxx.com/project-list.php?lang=fr&region=1)
RewriteRule ^(fr|en|es|cn|ar)/(.+)$  project-list.php?lang=$1&region=$2 [L]

# Redirect to project page (xxxxx.com/projet-details.php?lang=fr&region=1&projet=1)
RewriteRule ^(fr|en|es|cn|ar)/(.+)/(.+)$  project-details.php?lang=$1&region=$2&projet=$3 [L]

第一个,就像一个魅力。

但不是第二个。如果我希望它适用于第二个,我需要删除第一个。

我怎么能改变这种行为?

1 个答案:

答案 0 :(得分:0)

重新排序您的规则:

RewriteEngine On


# Redirect to project page (xxxxx.com/projet-details.php?lang=fr&region=1&projet=1)
RewriteRule ^(fr|en|es|cn|ar)/(.+)/(.+)$  project-details.php?lang=$1&region=$2&projet=$3 [L]

# Redirect to region page (xxxxx.com/project-list.php?lang=fr&region=1)
RewriteRule ^(fr|en|es|cn|ar)/(.+)$  project-list.php?lang=$1&region=$2 [L]