将重写规则重定向到另一个重写规则

时间:2013-11-19 18:53:51

标签: apache .htaccess mod-rewrite url-rewriting

我的网站以下列方式编写:

/vacation/country/
RewriteRule ^vacation/(.*)/ vacation.php?country=$1 [L]

被重定向到服务器上的某个文件。 我现在想将此更改/更新为

/vacation-country/

我使用重定向

RewriteRule ^vacation/(.*)/ vacation-$1/ [R=301,L]
RewriteRule ^vacation-(.*)/ vacation.php?country=$1 [L]

这是不幸的,给出了404错误,包括服务器的完整路径。我试图从重写规则中删除[L],但没有任何成功。

我知道如何以正确的方式设置重定向以存档上述内容?

1 个答案:

答案 0 :(得分:0)

尝试在正则表达式中使用$

RewriteRule ^vacation/([^/]+)/?$ /vacation-$1/ [R=301,L]

RewriteRule ^vacation-([^/]+)/?$ /vacation.php?country=$1 [L,QSA]