问题摘要:Apache中对seo友好的URL的解析
说明:
可能的解决方案: 已经尝试了一些解决方案:
解决方案1 :. htaccess生成
我们的cms会生成类似于seo友好网址的文件夹结构,例如,如果seo友好网址为/foo/bar/
,则会创建以下文件夹结构:
/foo
/bar
.htaccess,
.htaccess文件仅包含一个<{>物理网址的RewriteRule
这种方法很好地起作用,但是它涉及到生成(和维护)文件夹结构和.htaccess文件的负担
解决方案2 :使用外部程序RewriteMap
将seo友好的网址映射到物理网址时,可以使用由外部程序支持的RewriteMap:
RewriteMap seourlmap prg:/path/to/script/seourlmap.py
RewriteRule ^(.*)$ ${seourlmap :$1} [NE,L,R]
外部程序可以是使用KV商店(即Redis)来解析seo友好网址的phyton脚本(例如,参见https://github.com/terryjbates/redis-apache-rewrite)
此方法更加方便,因为所有seo-url映射逻辑都被 externalized 扩展为易于维护的外部程序
...但是我们对解决方案的性能有所担心(请参见https://httpd.apache.org/docs/2.4/rewrite/rewritemap.html的“注意”注释)
解决方案3 开发自定义的apache模块
以C / apache / native方式构建一个自定义的apache模块,该模块与SOLUTION 2(使用KV商店映射seo友好的url)的功能基本相同
**任何想法,替代方法??? **