.htaccess重写,多个匹配

时间:2012-03-11 23:13:00

标签: .htaccess mod-rewrite

如何重写此网址:

http://example.com/no/news/archive/

http://example.com/index.php?lang=no&uri=/news/archive/

感谢。

3 个答案:

答案 0 :(得分:0)

# inside .htaccess for the document root of example.com
RewriteBase /   # good habit; not needed for this absolute rewrite though

# rewrite exact URL
RewriteRule ^index.php\?lang=en&uri=/news/archive/$ /no/news/archive/

您可能希望匹配更灵活。如果lang不存在或不存在en怎么办?或者在uri=/news/archive之后出现?此外,客户是否可以在/news/archive/下询问子目录,是否所有此类请求都转到/no/news/archive/

答案 1 :(得分:0)

因为你没有在这里提供很多信息,所以应该做些什么:

RewriteRule ^/no/news/archive/$ /index.php?lang=en&uri=/news/archive/

但这不是很灵活。

如果您想要更深入的答案,请提供更多信息。

答案 2 :(得分:0)

您可以使用此代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^no(/news/archive/?)$ index.php?lang=en&uri=$1 [L,QSA,NC]