Using PHP how do I make a rewrite rule?(使用 PHP 如何制定重写规则?)
问题描述
第一次使用 mod rewrite.请帮我制定这些规则
Using mod rewrite for the first time. Please help me with these rules
我希望为页面重写我的网址,如下所示:
I'd like my urls rewritten for pages as follows:
list.php?city=dallas >>> list/city/dallas
profile.php?id=12 >>> profile/zaknuman(从数据库检索的用户名)
profile.php?id=12 >>> profile/zaknuman (username retrieved from db)
story.php?id=33 >>> story/there-are-no-ants-in-texas(从数据库检索的故事标题)
story.php?id=33 >>> story/there-are-no-ants-in-texas (story title retrieved from db)
推荐答案
RewriteRule list/city/([a-zA-Z])$ list.php?city=$1
应该匹配最后一个斜杠后 a-z 和 A-Z 范围内的每个字符.
which should match every character in the range a-z and A-Z after the final slash.
另外两个我相信你需要在数据库中嵌入 slug('zaknuman' 和 'there-are-no-ants-in-texas'),然后你就可以从数据库并以这种方式获取您的 ID,可见:
The other two I believe you'll need to embed the slug ('zaknuman' and 'there-are-no-ants-in-texas') in the database and then you'll be able to retrieve that slug from the database and get your ID that way, vis:
RewriteRule profile/(.*)$ profile.php?slug=$1
RewriteRule story/(.*)$ story.php?slug=$1
这最后 2 个匹配最后一个斜杠后的每个字符.
These last 2 match every character after the final slash.
不要忘记确保您的 .htaccess 文件或 Apache 配置中有RewriteEngine On"!
Don't forget to make sure you have "RewriteEngine On" in your .htaccess file or Apache configuration!
这篇关于使用 PHP 如何制定重写规则?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 PHP 如何制定重写规则?


基础教程推荐
- 使用 PDO 转义列名 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01