使用 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!
相关文章