×

php路由重写

php路由重写(apache路由重写)

admin admin 发表于2023-03-23 22:54:08 浏览54 评论0

抢沙发发表评论

本文目录一览:

tp5根目录在入口时 路由重写写在哪?

路由配置:

路由文件,默认是应用目录下的route.php,

如果你入口文件定义过CONF_PATH常量,则路由要写到你定义的路径里面。

URL重写:

如果你说的是URL重写,只需要在入口文件同级目录下,添加apache配置文件。

文件名 .htaccess

内容:

IfModule mod_rewrite.c

Options +FollowSymlinks -Multiviews

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

/IfModule

如何使用thinkphp路由正则表达式优化地址链接

用thinkphp开发项目,其中搜索模块需要携带很多的参数,就会出现地址栏的链接很长,这样不仅看上去不美观,对于搜索引擎来说也是不友好的链接。于是,就需要将其修改成简短干练的地址链接。

thinkphp中是支持路由重写的,需要自己编写重写规则。在编写的过程中,遇到一个问题。可以说是一个老大难的问题,那就是中文,搜索关键字需要匹配中文。

在尝试各种正则匹配规则都失败的情况下,我这里只能写成?keyword=关键字的格式。

下面我们看,具体的实例:

未优化地址:

/model/search.php?style=317order=1isyear=0recommend=0bid=301sid=327keyword=关键字page=1

优化地址:

/model/search-316-0-0-0-301-327-1.html?keyword=关键字

路由正则:

'/^model\/search\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)\-(\d*)$/'='Home/Search/model?style=:1order=:2isyear=:3recommend=:4bid=:5sid=:6page=:7',-php路由重写

理想的优化:

/model/search-316-0-0-0-301-327-关键字-1.html

apache开启路由重写功能

在php程序的目录下有一个htaccess文件,这个文件起着对url重写的作用

如果我们需要重写路由,则需要在

中将

中的 AllowOverride None 改成 AllowOverride All

然后重启apache

这是打开php应用会报一个505错误,解决方法是

这样就开启了apache的路由重写功能

php怎么打开重写 php重写URL的教程

1. 找到apache的安装目录下的conf下的httpd.conf文件,打开文件修改

LoadModule rewrite_module modules/mod_rewrite.so这行代码,他前面有个#号,把#号删掉

2. 还是那个文件,打开,找到

代码如下 复制代码

Directory /

Options FollowSymLinks ExecCGI Indexes

AllowOverride None

Order deny,allow

Deny from all

Satisfy all

/Directory

这个节点,把None改为All. 3. 重启apache服务

4. 最关键的一点,在你得项目目录下创建.htaccess文件,文件没有名称,看上去只是后缀名

具体创建方法不能直接创建,先创建个txt文件(其他的也行),然后另存问,把名字改为.htaccess,并且选所有文件,创建好后,就要制定规则了。 在文件里写代码:

RewriteEngine on //on为打开,off为关闭

RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?action=$1id=$2

([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!