如何在没有get参数的情况下工作

时间:2012-06-19 04:58:57

标签: php url

您好我遇到了"http://localhost/jsfweb/cat/query/"类型的一些网址,其中查询是一个字符串,它将从mysql数据库返回一些结果。我熟悉"http://localhost/jsfweb/cat.php?query=query"类型的网址,我怎么能用php这些网址?

5 个答案:

答案 0 :(得分:3)

你可以通过在htaccess文件中重写url来实现这个目的:

RewriteRule ^ cat /(.*)$ cat.php?query = $ 1

答案 1 :(得分:1)

使用modrewrite

你做这样的事情: 在名为'.htaccess'的文件中

Options +FollowSymlinks
Options -MultiViews
RewriteEngine on
RewriteBase /php/eclipse/ShiftPlus2/

#forbidden area
#RewriteCond %{THE_REQUEST} index\.php
#RewriteRule ^index\.php$                               http://localhost/php/eclipse/ShiftPlus2/?   [R=301]

#unique case
RewriteRule ^email$ email.html [L]

#general case
RewriteRule ^([a-zA-Z_]*)/?$                                    index.php?query=$1                   [L]
RewriteRule ^([a-zA-Z_]+)/([a-z]+)/?$                           index.php?query=$1&action=$2          [L]
RewriteRule ^([a-zA-Z_]+)/(-?\d+)/?$                            index.php?query=$1&id=$2              [L]
RewriteRule ^([a-zA-Z_]+)/([a-z]+)/(-?\d+)/?$                   index.php?query=$1&action=$2$id=$3   [L]
RewriteRule ^([a-zA-Z_]+)/(\w+)/?$                              index.php?query=$1&special=$2         [L]

#RewriteRule ^index.php$ login [R]

在左侧,有一个带有正则表达式的重写规则,在右侧,这是您知道的真实链接。

答案 2 :(得分:0)

看一下Apache的mod_rewrite。对于大多数网站,它是通过该模块完成的。如果你不想弄清楚它,你可以使用某种结合它的MVC框架。

答案 3 :(得分:0)

Apache mod_rewrite就是你想要的。这对初学者来说是一本很好的读物:

10 Mod Rewrite Rules You Should Know

答案 4 :(得分:0)

CodeIgniter(MVC框架)通过接受应用程序的单个入口点,然后根据以下内容进行路由来工作。所以说你将 index.php 声明为默认文档,然后 /index.php/controller/view / controller / view 相同。参数 controller view 用于实例化和运行相应的类。