我正在使用 codeigniter 2.1.4 并且我已经设置了 $config['url_suffix'] = ".html";
它工作正常,没有任何问题。但我发现如果我使用 redirect();
函数将始终在着陆页 url 上添加 url_suffix
。例如:site.com/login/success.html。
我的问题是在使用 redirect()
函数时无论如何都要排除 url_suffix
吗?或者是否有添加 .html 而不在 codeigniter 中设置 url_suffix
,可能是 .htaccess 中的一些 hack??
我尝试添加
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.[a-zA-Z0-9]{3,4}
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1.html
在项目 htaccess 文件中,但是一旦我取消设置 url_suffix 变量,框架就会抛出 404 错误。有解决办法吗?
谢谢:)
最佳答案
您可以将 url_suffix
配置留空 $config['url_suffix'] = '';
并定义特定路由以添加 .html
某些情况下的后缀。
例如,对于博客文章:
在routes.php
(默认位于application/config/
):
$route['blog/(.+)\.html'] = "posts/view_post/$1";
/* ^ ^ ^
| | |
Controller --- Method --- Post SEO url or ID
*/
关于php - 限制 codeigniter 中的 url_suffix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21356392/