寻求帮助重写网址。当程序/用户请求时:
example.com/givenresource/givenid
我想将请求重写为:
example.com/givenresource.php_ID=givenid
还想重写:
example.com/givenresource/?searchparam=searchforthis&searchparam2=searchforthis2
到
example.com/givenresource.php?searchparam=searchforthis&searchparam2=searchforthis2
非常感谢任何帮助。
答案 0 :(得分:0)
/givenresource/givenid
至/givenresource.php_ID=givenid
我认为?
遗漏只是一个拼写错误,它应该是/givenresource.php?_ID=givenid
而ID
是大写的。其他假设:
givenresource
是可变的,仅限于字符a-z
(小写)和-
。givenid
是变量且为数字,仅包含字符0-9
。在这种情况下,请使用mod_rewrite在<{1}}文件中尝试以下内容:
.htaccess
RewriteEngine On RewriteRule ^([a-z-]+)/(\d+)$ $1.php?_ID=$2 [L]
至/givenresource/?searchparam=searchforthis&searchparam2=searchforthis2
这将检查查询字符串是否启动/givenresource.php?searchparam=searchforthis&searchparam2=searchforthis2
,然后将整个查询字符串复制到 substitution (目标URL):
searchparam