使用两个获取参数清除 php 中的 url
Clean url in php with two get parameters
我正在开发一个使用干净 URI 的 PHP 脚本。
我的问题是,我有一个页面首先不使用 get 参数,然后是一个,最后是两个。
.htaccess
文件中的行当前如下所示:
RewriteRule ^birthing-records/([^/]+)/?$ birthing-records.php?url= [L,QSA,NC]
但是如果我这样添加第二个参数:
RewriteRule ^birthing-records/([^/]+)/([^/]+)/?$ birthing-records.php?url=&second= [L,QSA,NC]
脚本将我重定向到错误页面。
我该如何设置?
对于这种情况,我需要在 .htaccess
中添加两行吗?
我通常会通过简单地调用另一个页面来解决这个问题,但我想保留我现在使用的确切 URI,因为所有这些页面都在 Google 处建立了索引。如果有任何帮助,我将不胜感激。
每个规则都需要一个规则,否则只要你输入一个参数,它就会崩溃。
RewriteRule ^birthing-records/([^/]+)/?$ birthing-records.php?url= [QSA,NC]
RewriteRule ^birthing-records/([^/]+)/([^/]+)/?$ birthing-records.php?url=&second= [L,QSA,NC]
感谢@Martin 的注释:第一个的 L 选项已被删除,因为 L 选项指示最后一个规则是 运行(只能存在一个规则使用 L 选项)
否则,据我所知,它们每个都可以单独工作,但如果你想接受 1 或 2 个参数,那么你需要两条规则。
你可以在这里测试 htaccess 的东西:http://htaccess.mwl.be/
我正在开发一个使用干净 URI 的 PHP 脚本。
我的问题是,我有一个页面首先不使用 get 参数,然后是一个,最后是两个。
.htaccess
文件中的行当前如下所示:
RewriteRule ^birthing-records/([^/]+)/?$ birthing-records.php?url= [L,QSA,NC]
但是如果我这样添加第二个参数:
RewriteRule ^birthing-records/([^/]+)/([^/]+)/?$ birthing-records.php?url=&second= [L,QSA,NC]
脚本将我重定向到错误页面。
我该如何设置?
对于这种情况,我需要在 .htaccess
中添加两行吗?
我通常会通过简单地调用另一个页面来解决这个问题,但我想保留我现在使用的确切 URI,因为所有这些页面都在 Google 处建立了索引。如果有任何帮助,我将不胜感激。
每个规则都需要一个规则,否则只要你输入一个参数,它就会崩溃。
RewriteRule ^birthing-records/([^/]+)/?$ birthing-records.php?url= [QSA,NC]
RewriteRule ^birthing-records/([^/]+)/([^/]+)/?$ birthing-records.php?url=&second= [L,QSA,NC]
感谢@Martin 的注释:第一个的 L 选项已被删除,因为 L 选项指示最后一个规则是 运行(只能存在一个规则使用 L 选项)
否则,据我所知,它们每个都可以单独工作,但如果你想接受 1 或 2 个参数,那么你需要两条规则。
你可以在这里测试 htaccess 的东西:http://htaccess.mwl.be/