如何为两个场景文件重写规则?

时间:2012-02-20 13:59:55

标签: .htaccess

我有这样的.htaccess:

RewriteEngine On
# http://site.com/ru,ua,lt/anything/
RewriteRule ^(ru|ua|lt)/([^/]+)/$ index.php?lang=$1&article_id=$2
# http://site.com/print/ru,ua,lt/anything/
RewriteRule ^print/(ru|ua|lt)/([^/]+)/$ print.php?lang=$1&article_id=$2

第一个例子(#http://site.com/ru,ua,lt/anything/)起作用,第二个不起作用。请帮忙解决问题。

2 个答案:

答案 0 :(得分:1)

首先将代码更改为:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

# http://site.com/ru,ua,lt/anything/
RewriteRule ^(ru|ua|lt)/([^/]+)/?$ index.php?lang=$1&article_id=$2 [L,NC,QSA]

# http://site.com/print/ru,ua,lt/anything/
RewriteRule ^print/(ru|ua|lt)/([^/]+)/?$ print.php?lang=$1&article_id=$2 [L,NC,QSA]

然后试用你的URI并报告它是否仍然无效。

答案 1 :(得分:0)

什么不起作用?只是外部文件(JS,CSS,图像)不起作用吗?

可能是这种情况,因为您的第二个URL有一个额外的子目录。然后,您应该使用绝对URL路径链接到外部文件。