Я использую локальную установку Apache 2.2.11 и настроил псевдоним для папки над корнем документа (alias localhost/fp/ => /www/dirs/friendpages
).Я хотел бы иметь возможность перенаправлять запросы в "/favicon.ico" на localhost/fp/favicon.ico
, а не на localhost/favicon.ico
с файлом .htaccess в localhost/fp
.Возможно ли это, и если да, то как бы я это сделал?
Ссылка на favicon.ico будет исходить из файла, такого как следующий: /www/dirs/friendpages/test.htm (localhost/fp/test.htm)
=>
<html>
<head>
<link href="/favicon.ico" rel="shortcut icon" type="image/x-icon">
</head>
<body>
Page using favicon.ico
</body>
</html>
Я сделал несколько попыток, используя RewriteRule.Например,
RewriteRule ^/favicon.ico$ /www/dirs/friendpages/favicon.ico
... но не удалось найти решение.Похоже, что я не совсем понимаю, что такое Pattern и какой должна быть Substitution (учитывая RewriteRule Pattern Substitution
).Я особенно озадачен тем, как настроить RewriteRule, различая относительную ссылку на файл, такую как ссылка, с помощью тега ссылки выше, и абсолютную, например, "localhost / fp / favicon.ico" (последняя, очевидно, не требует перенаправления).
Я также включил ведение журнала перезаписи, используя в моем файле httpd.conf
следующее:
RewriteLogLevel 9
RewriteLog /logs/rewrite.log
... но все, что я получаю, при загрузке перечисленных выше localhost/fp/test.htm
с помощьюВышеупомянутое RewriteRule заключается в следующем:
127.0.0.1 - - [04/Nov/2011:05:09:51 --0700] [localhost/sid#14f44f8][rid#2619268/initial] (3) [perdir /www/dirs/friendpages/] strip per-dir prefix: /www/dirs/friendpages/test.htm -> test.htm
127.0.0.1 - - [04/Nov/2011:05:09:51 --0700] [localhost/sid#14f44f8][rid#2619268/initial] (3) [perdir /www/dirs/friendpages/] applying pattern '^/favicon.ico$' to uri 'test.htm'
127.0.0.1 - - [04/Nov/2011:05:09:51 --0700] [localhost/sid#14f44f8][rid#2619268/initial] (1) [perdir /www/dirs/friendpages/] pass through /www/dirs/friendpages/test.htm
Я обнаружил, что альтернативный способ (кроме жесткого кодирования самой соответствующей ссылки) для достижения желаемого результата состоит в настройке виртуального хоста (в отличие от простого использованияпсевдоним), но мое внутреннее чувство заключается в том, что это также должно быть возможно с использованием mod_rewrite и .htaccess ... просто как?