0

嗨,我遇到了一些类型的 url,"http://localhost/jsfweb/cat/query/"其中 query 是一个字符串,它将从 mysql 数据库返回一些结果。我熟悉类型的 url"http://localhost/jsfweb/cat.php?query=query"我如何将这些 url 与 php 一起使用?

4

5 回答 5

3

您可以通过以下方式重写 htaccess 文件中的 url 来做到这一点:

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

于 2012-06-19T05:04:47.420 回答
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]

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

于 2012-06-19T05:04:57.197 回答
0

Apache mod_rewrite 是你想要的。这是一本非常适合初学者的读物:

你应该知道的 10 条 Mod 重写规则

于 2012-06-19T05:03:44.847 回答
0

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

于 2012-06-19T05:06:37.453 回答
0

看看 Apache 的 mod_rewrite。对于大多数网站,它是通过该模块完成的。如果您不想弄脏它,您可以使用某种包含它的 MVC 框架。

于 2012-06-19T05:00:39.327 回答