我正在尝试使用PHP编码以下相对URL:
/tracks/add/5449326
我尝试使用rawurlencode和urlencode。
这使得它看起来像这样:%2Ftracks%2Fadd%2F5449326
我将在AJAX调用中使用此URL。
我要调用的URL是:
/overlay/add-track/{param1}/{param2}
{param1}是一个ID号。
{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)
将变量href赋值为$('a')标签的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]
/overlay/add-track/{param1}?param2={param2}
- Muhammad Yasir/overlay/add-track/1/%2Ftracks%2Fadd%2F5449326
,会发生什么?当然,需要加上域名等前缀。 - Markus Hedlundx
,它就可以工作。 - PeeHaa