Как передать слеш / в URL? - PullRequest
3 голосов
/ 18 мая 2011

На этой странице есть много сокращений / аббревиатур: http://abbreviations.wordcrow.com/acronyms/D/

Они генерируются в PHP:

<a href="/define/<?php echo rawurlencode($abbreviation['title'])?>/">
    <strong><?php echo $abbreviation['title']?></strong>
</a>

Я использовал rawurlencode, потому что многие аббревиатуры содержат причудливые символы, такие каккак #, & и даже /.

И запросы URL, такие как:

http://abbreviations.wordcrow.com/define/DA%26E/

Сначалабыть загруженным на rawurldecode():

$acronym = rawurldecode('DA%26E'); // $acronym would be 'DA&E'.

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

Пока DA&E в порядке, DA/C - нет.Попробуйте этот URL http://abbreviations.wordcrow.com/define/DA%2FC/, и вы получите http://abbreviations.wordcrow.com/define/DA/C/, который является страницей с ошибкой.

Я могу расширить код для распознавания /define/DA/C/, но это просто странно и неразумный.Я попробовал оба Chrome и Firefox , и все они автоматически конвертировали DA%2FC в DA/C.Но с DA%26E они этого не делают.

Что я делаю не так?

1 Ответ

1 голос
/ 05 августа 2011

Хотя вам нужно сделать то, что вам нужно сделать -

Опция, которую я наконец-то использовал, когда AllowEncodedSlashes On не работал, была найдена здесь ... (с использованием слагов) - не только быстрее при поискесоздание их, но это [главное] решило мою ситуацию быстрее и имело больше «url juice»:).

Первоначально найдено здесь:

http://snipplr.com/view/2809/convert-string-to-slug/

Используетсяизмененный здесь [используется в моих собственных файлах]:

http://www.finalwebsites.com/forums/topic/convert-string-to-slug

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...