在我的 htaccess 文件中,我有以下两条规则。我想让第二个发生在第一个不匹配的情况下。目前,他们都跑了。有什么办法可以避免碰撞吗?
redirect 301 /lorem/ipsum-keyword.html /lorem/dolorem-keyword.html
RewriteRule (.*)-keyword.html$ /dir/file.php?param=$1
提前致谢。
对两者都使用 mod_rewrite 并使用 L 选项来确保不会发生进一步的重写。像这样的东西:
RewriteRule ^lorem/ipsum-keyword.html$ http://yourdomain.com/lorem/dolorem-keyword.html [R=301,L]
RewriteRule (.*)-keyword.html$ /dir/file.php?param=$1
您可以对 301 使用重写规则并添加 L 标志,因此它将忽略以下规则。
我无法测试它,但这应该有效:
RewriteRule /lorem/ipsum-keyword.html$ /lorem/dolorem-keyword.html [R=301,L]
RewriteRule (.*)-keyword.html$ /dir/file.php?param=$1