Я уже просматривал этот вопрос в Интернете и подозреваю, что ответ «вы не можете», но, поскольку я еще не нашел ответ, который является настолько окончательным, я думаю, что здесь стоит спросить.Самое близкое, что я обнаружил, касающееся этой проблемы, это Тайна косой черты и относительного URL (который в настоящее время недоступен, но у Google есть кешированная версия только для текста ).
Из-за традиционного дизайна URL-адресов с косой чертой, интерпретируемой как каталог, и без косой черты, интерпретируемой как файловый ресурс, и относительных URL-адресов, работающих вне каталога, тогда, если текущая страница имеетпуть
/lorem/ipsum/dolor
относительный путь
not-dolor
будет преобразован в
/lorem/ipsum/not-dolor
, что, естественно, имеет смысл, когда /lorem/ipsum/dolor
рассматривается как файлресурс dolor
, сидящий в каталоге /lorem/ipsum/
;типичные, интуитивные соглашения.Однако, поскольку значительное количество веб-сайтов в настоящее время являются динамическими приложениями без сопоставления файловой системы для каждого URL-адреса, это может вызвать головную боль, потому что иногда вы действительно хотите работать по отношению к пути, как если бы в текущем проекте имел место косая черта.
Существует ли какой-либо разумный способ («не включающий обработку на стороне сервера / переменные / другие или JavaScript») использовать относительный путь, основанный на текущем пути, и не каталог "текущего пути?Так что not-dolor
может быть относительно /lorem/ipsum/dolor
и производить
/lorem/ipsum/dolor/not-dolor
Не существует никакого обходного пути, о котором я знаю, связанного с чем-то вроде ./not-dolor
, поскольку .
все еще (/lorem/)ipsum/
.Если не считать перенаправления на конечную косую черту и проверки того, что все ресурсы имеют URL-адреса, соответствующие характеру каталогов и файлов, или изменения спецификации (!), Есть ли способ решить эту проблему?