我的数据库IP和端口中有2个字段, 当从数据库中检索它们时,我将它们加入链接。
我正在使用mod重写我也删除.php所以如果server_info.php转向server_info。
我在我的页面上回应了这个链接
echo'<a href="'.URI.'/server_info/'.$IP.':'.$Port.'">';
我的链接的mod重写是
RewriteRule ^server_info/([^/][0-9]*)$ server_info.php?IP&Port=$1 [L]
但是当我点击它没有给出任何信息时
如果我像这样输入
http://localhost/server_info.php/70.85.442.13:70215
它有效
如果我像这样输入
答案 0 :(得分:1)
我让它完美地运作
RewriteRule server_info/(.*):(.*) server_info.php?IP=$1&Port=$2
答案 1 :(得分:0)
您的echo
(不起作用; /
而不是?
)和您输入的内容(有效; ?
)不同。< / p>
echo'<a href="'.URI.'/server_info?'.$IP.':'.$Port.'">';
更新:如果由于某种原因,您不想更改echo
中的网址,则需要在重写中修复正则表达式。现在它正在寻找任何非斜杠字符([^/]
)后跟零个或多个数字([0-9]*
)。这与您的IP与.
s,:
和端口不匹配。你可能想要像
RewriteRule ^server_info/([\.0-9]*):([0-9]*)$ server_info.php?$1&Port=$2 [L]
[\.0-9]*
将匹配$1
中捕获的点和数字,即您的IP地址。 [0-9]*
将在$2
中捕获数字,即你的prot。