Похоже, что после косой черты будет добавлен дополнительный путь.
Да, именно так работают относительные URL. Браузер использует косую черту, чтобы решить, относится ли URL к папке (в этом случае URL может относиться к другому файлу в этой папке) или к файлу (в этом случае он должен искать родительскую папку). Так что <a href="profile">
внутри конечного слеш-URL действительно будет указывать на .../profile/profile
.
Есть идеи, как мне это обойти?
Используйте абсолютные URL-адреса (или, что лучше, относительные корневые URL-адреса, такие как href="/user/9794/profile"
, везде, где вы делаете ссылку (явно или через элемент управления ASP.NET). Относительные URL-адреса несовместимы со стилем URL с маршрутизацией, где может содержать переменное число битов данных, разделенных косой чертой, в URL.
И / или использовать только канонические URL-адреса, чтобы URL-адрес любого данного ресурса всегда был фиксированным; если вы переходите к «неправильной» версии с дополнительной косой чертой или другим избыточным содержимым в URL, вы получаете перенаправление 301 на «правильную» версию.