允许在天蓝色网站上使用带虚线的网址

时间:2015-06-17 18:19:18

标签: codeigniter url iis url-rewriting azure-web-sites

我正在努力为下载页面制作一个SEO友好链接 使用Azure网站上托管的codeigniter,现在可以正常工作:

www.example.com/downloads/viewfile/34

现在当我生成此链接时:

www.example.com/downloads/viewfile/my-nice-file-name-34

Url重写在WAMP服务器上本地运行良好,但是当部署到远程(Azure Webites IIS?)时,它会出错:

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

我认为原因是:IIS上不允许使用短划线符号,但是有没有办法?

2 个答案:

答案 0 :(得分:2)

毕竟,我发现它不是导致问题的短划线符号,而是网址本身中的单词

像昨天一样我www.example.com/downloads/viewfile/example-file-34 出于某种原因,在url段中使用您的域名会使该错误产生错误,因此我只需更换" mydomain"在生成Url段之前没有任何内容

$fileName = str_replace('mydomain','',$fileName);
return url_title($fileName.$fileId);

现在上面的相同链接是www.example.com/downloads/viewfile/file-34,其工作正常。

我还注意到在使用像ajax,json这样的单词时会遇到同样的行为。

我希望这对你来说是有帮助的。

答案 1 :(得分:0)

在routes.php文件中

查找

$route['translate_uri_dashes'] = FALSE;

替换为

$route['translate_uri_dashes'] = TRUE;

您可能还需要查看

URI路由Codeigniter 3

http://www.codeigniter.com/user_guide/general/routing.html

Codeigniter 2 URI路由

http://www.codeigniter.com/userguide2/general/routing.html