我在网站上使用了模式重写
我使用基本标记来解决我的相对链接问题
<base href="/" />
但问题是绝对的联系,例如。 http://www.absolutelinks.com
将其更改为www.mysite.com/http://www.absolutelinks.com
我该如何解决这个问题
答案 0 :(得分:4)
Base href 仅适用于相对网址,因此如果您有:<a href="http://google.com/">Google</a>
,您将被重定向到Google,而不是http://mydomain/http://google.com/
。请发布HTML文档的代码。
但是,使用base
并非最佳做法。更好的方法是使用绝对网址,例如:src="/styles/main.css"
始终指向mydomain/styles/main.css
。
答案 1 :(得分:1)
根本不要使用<base>
,而是使用一些服务器端配置并在那里保留$ base变量 - 然后,在HTML生成期间输出任何URL时使用{$ base} {$ restofurl}。
当您在开发/测试/实时环境中运行相同的代码时,这很有效 - 您只需要更改服务器端的$ base配置。
使用上面的PHP / Smarty语法,但我相信你明白了。