0

我正在尝试获取以下 URL 以进行重定向/重写

http://www.domain.com.au/posting?id=44404

以下是所需内容:

http://www.domain.com.au/state/category/job_title

有没有办法用 PHP MySQL Joomla 应用程序做到这一点?

这是使用自定义组件,所以我必须从 MySQL 数据库中检索状态、类别和 job_title 信息。有没有办法将它们插入 htaccess 或识别,以便它反映在 URL 字段上?

谢谢

4

3 回答 3

0

这就是您要查找的内容:

http://www.noupe.com/php/10-mod_rewrite-rules-you-should-know.html

但是,当您重定向时,您的 id 会丢失

于 2012-08-20T06:53:54.247 回答
0

您必须编写所有代码以在 .htaccess 文件中将每个 id 替换为所需的类别状态和职位,我认为您无法通过 mysql 检索并使用它们在 htaccess 文件中替换。

于 2012-08-20T06:58:08.140 回答
0

如果您可以编写一个脚本来获取/state/category/job_title一个 id,那么您可以使用RewriteMap。您只能在服务器配置或虚拟主机配置中定义映射,而不是在.htaccess文件中。

假设你有一个 perl 脚本,它解析了 state、category 和 job_title,做了一些数据库查找,然后输出44404或任何 id。然后你可以像这样定义映射:

RewriteMap jobmap prg:/path/to/your/script.pl

然后在htaccess文档根目录中的文件中,您可以使用地图:

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /posting?id=${jobmap:$1/$2/$3}

如果您想枚举每个state/category/job_title组合,还可以使用文本文件dbm 文件。或者,如果您已加载并配置了 mod_dbd,您还可以使用SQL 选择查询

另一种选择是编写某种 php 脚本并通过它路由所有内容。它本质script.pl上将执行示例将执行的操作,解析state/category/job_title字段,并进行适当的数据库查找以获得 id。然后,您可以包含发布脚本并交出 id。

于 2012-08-20T07:09:08.450 回答