我有一个约有100页的网站,示例.htaccess文件具有该页面
AnimationView(name: "name")
问题是这些页面之间以及添加时会获得很多重定向
RewriteRule ^1/?$ page1.php [NC,L]
RewriteRule ^2/?$ page2.php [NC,L]
RewriteRule ^3/?$ page3.php [NC,L]
可以,我希望使用MySQL填充它。
我可以改为硬编码
header("location: page1.php");
但是,如果.htaccess文件中的一项更改,则我必须在许多地方进行更改。
所以我的问题是,这可以由MySQL控制吗,就像我有一个简单的表一样
header("location: /1");
和.htaccess会基于此MySQL表进行填充。
如果可能的话,实现此目标的最佳方法是什么。
谢谢。
答案 0 :(得分:0)
您应该使用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可以用于此目的)。
可以直接查询数据库,但是当我很久以前进行测试时,使用文件的速度更快。