如何将输入用作 domain/<input> 而不是 PHP 中的 domain/?get=<input>?

How to use the input as domain/<input> instead of domain/?get=<input> in PHP?

我想获取 VARIABLE_PARAMETER 的值,如果有人打开以下 link: www.example.com/VARIABLE_PARAMETER in PHP 而不是制作GET 请求使用 PHP 制作动态网页。如果可能,请解释一下程序。

您可以使用 .htaccess 文件中的 mod_rewrite 规则实现此目的。

创建一个包含以下内容的 htaccess 文件:

RewriteEngine On
RewriteBase /
RewriteRule ^([a-zA-Z0-9\-\/]+)$ index.php?url=

当你用domain/test请求页面时(等同于domain/index.php?url=test),你可以在$_GET中访问变量($_GET["url"])。

使用Post请求方法而不是Get请求方法。教程请参考 W3schoolsTutorial Form Handling

没有办法让浏览器自然地从表单提交请求 URL 这种格式。您必须对其应用程序逻辑。

您已标记此 PHP,因此服务器端解决方案是用它检查请求的 URL,然后发出重定向。

<?php
    # form_action.php
    if (isset($_GET['get'])) {
        sanity_check_value_of($_GET['get']);
        header("Location: http://www.example.com/" . urlencode($_GET['get']);
        exit;
    }

您也可以使用 URL 重写工具实现此目的,例如 mod_rewrite or URL rewrite

也可以使用 JavaScript 处理此客户端(通过捕获表单上的提交事件,防止默认行为,生成新的 URL 并将其分配给 location) 但是在服务器端执行它的速度优势可能不足以证明额外的工作是合理的(而你 shouldn't do it without the server side alternative)。