Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 模仿这个strawpoll.me的页面创建/url重写效果_Php_.htaccess - Fatal编程技术网

Php 模仿这个strawpoll.me的页面创建/url重写效果

Php 模仿这个strawpoll.me的页面创建/url重写效果,php,.htaccess,Php,.htaccess,我希望按照这里所示的思路做一些事情: 当你在那里创建一个投票时,它会给你一个唯一的url,你和其他任何人都可以通过访问该url来访问它 现在很明显,他们不能用数千个包含民意调查的单独文件将服务器弄乱,我假设他们有一个基本模板,可以从数据库加载民意调查信息 我想制作一个表单,当用户提交表单时,他们会得到自己独特的链接,就像在投票网站上一样 这是一个简单的动态页面创建,只需要几个文件 轮询创建页面是静态的 收集数据并插入数据库的processing.php文件 动态轮询呈现页面polls.php,

我希望按照这里所示的思路做一些事情:

当你在那里创建一个投票时,它会给你一个唯一的url,你和其他任何人都可以通过访问该url来访问它

现在很明显,他们不能用数千个包含民意调查的单独文件将服务器弄乱,我假设他们有一个基本模板,可以从数据库加载民意调查信息


我想制作一个表单,当用户提交表单时,他们会得到自己独特的链接,就像在投票网站上一样

这是一个简单的动态页面创建,只需要几个文件

  • 轮询创建页面是静态的
  • 收集数据并插入数据库的
    processing.php
    文件
  • 动态轮询呈现页面
    polls.php
    ,该页面根据分配给轮询的自动递增id呈现轮询
  • 轮询results.php
    ,返回结果
  • http://thepollsite.com/12345

    .htaccess
    用于标识要呈现的轮询以及要呈现的结果

    # Turns on Mod-Rewrite Engine
    # ----------------------------------------------------------------
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    
    # Poll Pages 
    # ----------------------------------------------------------------
    RewriteRule ^([^/]+)/?$ polls.php?id=$1 [QSA,L]
    RewriteRule ^([^/]+)/?$ polls-results.php?id=$1 [QSA,L]
    
    polls.php
    polls results.php
    上,您可以通过以下方式获得id:
    $poll\u id=$\u REQUEST['id']并从那里开始处理

    嵌入代码在一个简单的弹出对话框中呈现,该对话框提供iframe代码,如图所示


    虽然你可以添加一些虚饰。。。这确实是一个简单的过程。

    .htaccess
    方面,您将需要类似以下内容:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    
    这样,服务器上不存在的所有文件/目录请求都将运行
    index.php
    ,而不是显示404页面。然后,要获取请求的路径,请在
    index.php
    中使用
    $\u SERVER['path\u INFO']

    这是在PHP中使用“干净”URL的一般方法。它可能已经在另一个SO答案中说过了,但很难找到,所以我又写了一遍

    相关的: 和

    可能重复的