Альтернативы базовому тегу - PullRequest
2 голосов
/ 05 октября 2010

Я использовал режим перезаписи на моем сайте

Я использовал базовый тег для решения проблемы относительных ссылок

<base href="/" />

Но проблема в абсолютной ссылке, например. http://www.absolutelinks.com

Изменяется на www.mysite.com/http://www.absolutelinks.com

.

Как я могу это исправить

Ответы [ 2 ]

4 голосов
/ 05 октября 2010

Base href применяется только к относительному URL, поэтому если вы получили: <a href="http://google.com/">Google</a>, вы будете перенаправлены в Google, а не http://mydomain/http://google.com/.Пожалуйста, опубликуйте код вашего HTML-документа.

Однако использование base не лучшая практика.Гораздо лучший подход - использовать абсолютные URL-адреса, такие как: src="/styles/main.css", который всегда указывает на mydomain/styles/main.css.

1 голос
/ 05 октября 2010

Ни в коем случае не используйте <base>, вместо этого имейте некоторую конфигурацию на стороне сервера и сохраняйте там переменную $ base - тогда при выводе любого URL во время генерации HTML используйте {$ base} {$ restofurl}.

Это хорошо работает, когда у вас один и тот же код работает в средах разработки / тестирования / live - вам просто нужно изменить конфигурацию $ base на стороне сервера.

Использование синтаксиса PHP / Smarty выше, но я уверен, что вы поняли идею.

...