gpt4 book ai didi

php - 使用MySQL创建.htaccess文件URL重写参数

转载 作者:行者123 更新时间:2023-11-30 21:33:01 26 4
gpt4 key购买 nike

我有一个大约有 100 个页面的网站,其中包含示例 .htaccess 文件

RewriteRule    ^1/?$    page1.php    [NC,L] 
RewriteRule ^2/?$ page2.php [NC,L]
RewriteRule ^3/?$ page3.php [NC,L]

问题是这些页面在彼此之间和添加时有很多重定向

header("location: page1.php");

有效,我希望使用 MySQL 来填充它。

我可以改为硬编码

header("location: /1");

但是如果 .htaccess 文件中的其中一个条目发生变化,我必须在很多地方进行更改。

所以我的问题是这是否可以由 MySQL 控制,就像我有一个简单的表一样

(id,page) values (1,page1.php)    

并且 .htaccess 会根据这个 MySQL 表进行填充。

如果可能的话,实现此目标的最佳方法是什么。

谢谢。

最佳答案

你应该使用 RewriteMap .

它使用 .htaccess 中提到的文本文件,可用于将“某物”映射到 RewriteRule 中的“某物”。

像这样:

RewriteMap p2f txt:/path/to/map.txt
RewriteRule ^([^/]+)/?$ /{p2f:$1|notfound.php} [L]

map.txt 将是:

1 page1.php
2 page2.php
...

Apache 监视文件更改并自动重新加载它。

您将需要更改您的流程,以便当数据库中的某些内容更新时,文本文件也会更新(为此可以使用 SELECT INTO OUTFILE)。

可以直接查询数据库,但是很久以前我测试的时候用文件更快。

关于php - 使用MySQL创建.htaccess文件URL重写参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55270753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com