您好我遇到了"http://localhost/jsfweb/cat/query/"
类型的一些网址,其中查询是一个字符串,它将从mysql数据库返回一些结果。我熟悉"http://localhost/jsfweb/cat.php?query=query"
类型的网址,我怎么能用php这些网址?
答案 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就是你想要的。这对初学者来说是一本很好的读物:
答案 4 :(得分:0)
CodeIgniter(MVC框架)通过接受应用程序的单个入口点,然后根据以下内容进行路由来工作。所以说你将 index.php 声明为默认文档,然后 /index.php/controller/view 与 / controller / view 相同。参数 controller 和 view 用于实例化和运行相应的类。