【发布时间】:2011-03-15 09:03:12
【问题描述】:
您好,我正在使用 Codeigniter PHP 框架。
有没有办法在 URL 中显示.html 扩展而不是.php 扩展?
【问题讨论】:
标签: php codeigniter frameworks
您好,我正在使用 Codeigniter PHP 框架。
有没有办法在 URL 中显示.html 扩展而不是.php 扩展?
【问题讨论】:
标签: php codeigniter frameworks
在此处找到的 config.php 上设置您的 url 后缀
/application/config/config.php
$config['url_suffix'] = '.html'; //@ line 60ish
【讨论】:
我自己并没有真正尝试过,但请参阅用户指南的this 部分中的添加 URL 后缀部分。
【讨论】:
只需在 Apache 的配置中添加以下内容,它就会使用 PHP 处理 .html 文件:
AddType application/x-httpd-php .phtml
这样您就可以将 .php 文件重命名为 .html。
或者您可以使用 mod_rewrite 即时处理此问题
【讨论】:
使用 .htaccess 文件将 .html 的 url 重写为等效的 .php
如果您使用的是 codeigniter,您甚至应该考虑完全隐藏任何扩展。
【讨论】:
如果你使用 APache。您可以使用 URL 重写规则。
【讨论】:
正如其他人所说,创建 .htaccess 文件将允许您将 .php 重写为 .html。以下代码应该可以解决问题:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.html$ $1.php [L]
我对你为什么真的想要这样做很感兴趣。默认情况下,Codeigniter 使用基于分段的方法,这种方法很友好,并且消除了查询字符串和文件扩展名。使用另一个 htaccess 规则,您可以从 url 中删除 index.php 以使它们更加干净:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
因此您的网址可以如下所示:example.com/home、example.com/about 等。这比在网址中包含文件扩展名要漂亮得多。
更多关于 codeigniter URL 的信息可以在这里找到:http://codeigniter.com/user_guide/general/urls.html
【讨论】: