Я пытаюсь закодировать следующий относительный URL-адрес с помощью PHP:
/tracks/add/5449326
Я пытался использовать rawurlencode и urlencode.
Что и выглядело примерно так: %2Ftracks%2Fadd%2F5449326
Я собираюсь использовать этот URL в вызове AJAX.
URL, на который я пытаюсь позвонить:
/overlay/add-track/{param1}/{param2}
{param1}просто какой-то идентификатор
{param2} является закодированным URL
Однако, когда я пытаюсь сделать звонок, я получаю 404.
Судя по всему, он пытаетсяпозвонить:
/overlay/add-track/1//tracks/add/5449326
Похоже, он пытается получить доступ к декодированной строке.
Есть идеи, как это исправить?
PHP
$url = rawurlencode('/tracks/add/5449326');
echo '<a href="/overlay/add-track/1/'.$url.'">Add</a>';
JS (jQuery) var href = $ ('a'). Attr ('href');
$.ajax({
url: href,
type: 'POST',
data: {},
dataType: "json",
success: function(data)
{
// do stuff
}
});
РЕДАКТИРОВАТЬ
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} \.(eps|js|ico|gif|jpg|png|css|jpeg|doc|xls|doc|pdf|txt|ppt|zip)$
RewriteRule ^(.*)$ $1 [L]
RewriteCond "/path/public/%{REQUEST_URI}" !-f
RewriteRule ^(.*)$ /index.php/$1 [L]