使用 pyro 我有两个 .htaccess 文件。一个在 codeigniter 文件夹中,另一个在 system/cms/config 中。我应该有两个,我必须更改哪一个才能从我的 url 中删除 index.php?我尝试了此页面上的说明https://www.pyrocms.com/documentation/2.0/getting-started/removing-index-php,但没有成功。
我主要关心的是从我的 url 中删除 /index.php。
使用 pyro 我有两个 .htaccess 文件。一个在 codeigniter 文件夹中,另一个在 system/cms/config 中。我应该有两个,我必须更改哪一个才能从我的 url 中删除 index.php?我尝试了此页面上的说明https://www.pyrocms.com/documentation/2.0/getting-started/removing-index-php,但没有成功。
我主要关心的是从我的 url 中删除 /index.php。
如果你知道你在做什么,你当然可以修改 .htaccess 文件,这样做有很多好处,事实上 pyrocms 附带的 .htaccess 文件为你提供了很多关于如何这样做的建议。
但是,您需要确保在您的服务器上启用并正确设置了 allowoverwride 和 mod_rewrite。一旦完成并且你改变
$config['index_page'] = 'index.php';
至
$config['index_page'] = '';
在 system/cms/config/config.php 中 /index.php/ 应该消失(您需要在管理员中手动清除维护中的站点缓存以刷新整个站点的所有链接。
完成后,如果您出于任何原因想要进行更改(即将所有 www.example.com 重定向到 example.com),请编辑站点目录根目录中的 .htaccess。
如果您按照所提供的说明进行操作,那么您应该很好。另一个可能的罪魁祸首可能是您的 Web 服务器可能根本没有查看 .htaccess 文件。
这里有一个指南:http: //docs.pyrocms.com/2.1/manual/setup/removing-indexphp-from-urls
您可以忽略 /system/codeigniter/.htaccess - PyroCMS(目前)构建在 Codeigniter 之上,它只是为了防止CodeIgniter目录内容被错误暴露的预防措施。修改 PyroCMS 根目录中的那个(注释应该有帮助)。
您还需要确保您的 Apache VirtualHost配置指定了AllowOverride,否则 .htaccess 文件将被忽略 - 并且 Apache 需要运行mod_rewrite(但这都在 .htaccess 文件中配置,例如RewriteEngine on
指令)。
您提到的两个 .htaccess 文件都不应该被篡改。
需要的是以下内容:
1) 启用模组重写。在 ubuntu 上a2enmod rewrite
2) 保留 pyrocms 安装附带的 .htacesss 文件。使用最新的只是为了确定并替换旧的
3)编辑 system/cms/config/config.php 并更改:$config['index_page'] = 'index.php';