老实说,我花了好几个小时试图找到解决方案(我通常很好寻找解决方案),但我似乎有一个独特的问题。
我们假设我的当前网址为http://www.something.com
我想更改以下网页中的所有外部链接...
1. <a href="http://other.something.com">other</a>
2. <a href="http://www.google.com">google</a>
......对此:
http://other.something.com
”&gt;其他&lt; / a&gt; http://www.google.com
”&gt; google&lt; / a&gt; 我没有PHP或ASP。我们假设我的网站只是静态HTML。是否有可行的Apache URL重写解决方案?
谢谢
答案 0 :(得分:1)
您可以尝试mod_proxy_html。引自config guide:
语法:from-pattern的ProxyHTMLURLMap to-pattern [flags] [cond]
这是关键指令 重写HTML链接。解析时 文档,每当链接目标 匹配from-pattern,匹配 部分将被重写为 到图案。
答案 1 :(得分:1)
mod_substitute可能是另一种选择。
从好的方面来说,它包含在默认的apache发行版中,可能足以解决您的问题。
AddOutputFilterByType SUBSTITUTE text/html
Substitute s|<a([^>]*)href="http(.?)://(.*)"([^>]*)>|<a $1 href="http://www.something.com?redirect=http$2://$3" $4>|i
修改强>
如果您的网站确实是一组静态html网页,为什么不使用正确的HTML DOM工具对其进行离线转换?