Php 无法将查询附加到以/?user结尾的url

Php 无法将查询附加到以/?user结尾的url,php,get,query-string,Php,Get,Query String,www.something.com/?user,其中“user”是一个php文件,是否有任何方法向其中添加查询字符串参数 由于以下原因而失败: www.something.com/?user?id=1 www.something.com/?user&id=1 www.something.com/?user/id=1 我看过这个话题: 但这并不完全是我想要的……谢谢你,用完整的php扩展来完成它的方法是: www.something.com/user.php?id=1 然后使用: $userID

www.something.com/?user,其中“user”是一个php文件,是否有任何方法向其中添加查询字符串参数

由于以下原因而失败:

www.something.com/?user?id=1

www.something.com/?user&id=1

www.something.com/?user/id=1

我看过这个话题:


但这并不完全是我想要的……谢谢你,用完整的php扩展来完成它的方法是:

www.something.com/user.php?id=1
然后使用:

$userID = $_GET['id'];
如果您想删除PHP扩展,可以在htaccess中进行重写:这是非常通用的,因为它取决于您的web服务器,但类似于:

RewriteRule ^www\.something\.com/user\.php$ /www.something.com/user?&%{QUERY_STRING}
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L] 
或者您可以在所有文件上使用PHP扩展名来保持整洁,例如:

RewriteRule ^www\.something\.com/user\.php$ /www.something.com/user?&%{QUERY_STRING}
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L] 
这将重写所有php扩展,因此:

something.com/someFileName
将自动读取为

something.com/someFileName.php
您仍然可以使用的:

something.com/someFileName?someQueryParameter=someValue

url中的
分隔路径和参数。如果需要多个参数,则必须使用
&
将它们分开
www.something.com/?user&id=1
完全有效。此url有两个参数:
user
无值和
id
有值
1
您是否有某种路由将
user
转换为有效的php文件名?感谢Crozet,不幸的是它不起作用。RiggsFolly,否-您有什么建议如何做?您所说的“它不起作用”是什么意思?