Php 使用.htaccess重写URL。我应该把哪条规则放在第一位?
我想重写: www.domain.com/entry/1或www.domain.com/entry/1/title到www.domain.com/entry.php?id=1 www.domain.com/entry/1/title/page/2至www.domain.com/entry.php?id=1&page=2 www.domain.com/entry/1/title/comment至www.domain.com/entry.php?id=1&a=comment 我在.htaccess文件中有以下内容Php 使用.htaccess重写URL。我应该把哪条规则放在第一位?,php,apache,.htaccess,mod-rewrite,url-rewriting,Php,Apache,.htaccess,Mod Rewrite,Url Rewriting,我想重写: www.domain.com/entry/1或www.domain.com/entry/1/title到www.domain.com/entry.php?id=1 www.domain.com/entry/1/title/page/2至www.domain.com/entry.php?id=1&page=2 www.domain.com/entry/1/title/comment至www.domain.com/entry.php?id=1&a=comment 我在.htaccess文
RewriteRule ^entry/(([0-9]+))(?:/([^/]*))?/?$ ./entry.php?id=$1
RewriteRule ^entry/([0-9]+)/([^/]+)/page/([0-9]+)$ ./entry.php?id=$1&page=$3
RewriteRule ^entry/([0-9]+)/([^/]+)/([^/]+)$ ./entry.php?id=$1&a=$3
它起作用了。我还试图颠倒顺序:
RewriteRule ^entry/(([0-9]+))(?:/([^/]*))?/?$ ./entry.php?id=$1
RewriteRule ^entry/([0-9]+)/([^/]+)/([^/]+)$ ./entry.php?id=$1&a=$3
RewriteRule ^entry/([0-9]+)/([^/]+)/page/([0-9]+)$ ./entry.php?id=$1&page=$3
它也在工作。如何执行.htaccess文件上的行?以上哪个版本更正确?谢谢 这不要紧。但一定要在每个重写规则行的末尾加上一个[L],这样Apache在成功应用规则后就会停止,而不会无休止地循环 用于测试规则以及它们是否正确工作