0

是否可以将两个 mod 重写规则指向一页?例如,我可以有:

mysite.com/blog/15mysite.com/blog/post-title

都指向: mysite.com/blogpost.php ?id=15

谢谢 :)

4

1 回答 1

0

如果它特定于“15”和“post-title”,那么是的:

RewriteEngine On
RewriteRule ^/?blog/15$ /blogpost.php?id=15 [L]
RewriteRule ^/?blog/post-title$ /blogpost.php?id=15 [L]

如果它是“15:”并且“post-title”可以是任何东西,那么不是。

除非它有权访问实际映射(例如在数据库中),否则 mod_rewrite 无法知道后标题映射到什么 id。您可以使用RewriteMap定义映射类型并将其指向可以与数据库对话的文件或脚本,但映射必须在服务器/虚拟主机配置中定义。不能在 htaccess 文件中使用它。

您最好将该功能添加到blogpost.php脚本并将标题传递给它。例如:

RewriteEngine On
RewriteRule ^/?blog/([0-9]+)$ /blogpost.php?id=$1 [L]
RewriteRule ^/?blog/([A-Za-z0-9-]+)$ /blogpost.php?title=$1 [L]
于 2013-09-02T10:24:39.760 回答