使用 PHP 如何制定重写规则? [英] Using PHP how do I make a rewrite rule?

查看:27
本文介绍了使用 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 如何制定重写规则?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆