代码之家  ›  专栏  ›  技术社区  ›  appusajeev

将数据发布到网页,需要其他选项

  •  0
  • appusajeev  · 技术社区  · 15 年前

    要从Web服务器请求一些数据,我们可以使用get方法,例如

    www.example.com/?ID=XYZ

    但我想请求数据

    www.example.com/xyz

    如何在PHP中实现?

    4 回复  |  直到 15 年前
        1
  •  3
  •   John Conde    15 年前

    在根目录中创建一个文件,并将其命名为.htaccess。把它放进去:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?$1 [R=301,L]
    

    如果有人访问www.example.com/xyz,而xyz不是目录或文件,它将加载/index.php?代替XYZ。它对您的用户是完全透明的。

        2
  •  1
  •   John Boker    15 年前

    你可以使用mod rewrite,这里有更多信息

    http://www.trap17.com/index.php/php-mod-rewrite-tutorial_t10219.html

        3
  •  1
  •   Stephen Melrose    15 年前

    我不确定“发布”数据是正确的术语,但是您可以使用apache mod_rewrite将类似'/xyz'的URL直接发送到您的PHP应用程序。例如,在Web根目录中放置一个.htaccess文件,其中包含以下内容:

    Options +FollowSymLinks +ExecCGI
    
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    </IfModule>
    

    现在指定的URL在 $_GET['url] .

        4
  •  0
  •   Martin Bean    15 年前

    我认为你不能用get方法达到你想要的效果,因为php总是将查询字符串中的表单数据附加到表单中指定的url的末尾。 action 属性。

    您最好的选择是将数据发布到处理程序(即 www.example.com/search )然后使用该页面重定向到正确的页面。

    因此,如果输入的查询 hello+world ,该变量将传递给 /search 页面并由PHP脚本处理以重新定向 /hello+world .

    当然,你需要正确的 .htaccess 用于处理此类搜索以及清理数据的适当规则。