Apache htaccess在第二个重写规则上引发错误

Apache htaccess在第二个重写规则上引发错误,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,这两个规则本身都可以正常工作,但如果我同时拥有它们,则会出现500个内部服务器错误 我想做的是在site.com/en/上转到site.com/pages/index.php?page\u url=home&lang=$1(本例中为en) 但是在site.com/en/home/上转到site.com/pages/index.php?page_url=$2&lang=$1(本例中分别为home和en) 有什么想法吗?由于正则表达式错误,导致规则循环,因此您将出现500个错误 遵守以下规则: Re

这两个规则本身都可以正常工作,但如果我同时拥有它们,则会出现500个内部服务器错误

我想做的是在
site.com/en/
上转到
site.com/pages/index.php?page\u url=home&lang=$1
(本例中为en)

但是在
site.com/en/home/
上转到
site.com/pages/index.php?page_url=$2&lang=$1
(本例中分别为home和en)


有什么想法吗?

由于正则表达式错误,导致规则循环,因此您将出现500个错误

遵守以下规则:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z]+)/([0-9a-zA-Z-_]+)/? /pages/index.php?page_url=$2&lang=$1 [QSA,L]
RewriteRule ^([a-zA-Z]+)/? /pages/index.php?page_url=home&lang=$1 [QSA,L]
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z]+)/([\w-]+)/?$ /pages/index.php?page_url=$2&lang=$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z]+)/?$ /pages/index.php?page_url=home&lang=$1 [QSA,L]