0

我对代码点火器相当陌生,我所有的链接都有这个路径“/文件夹/文件”。所以我希望当我调用链接时,它应该显示:

www.website.com/folder/file

但是当我点击它时,它会转到这个:

www.website.com/index.php/folder/file

我如何防止它发生?我也希望它是相对的。

我需要在配置中触摸一些东西吗?

4

3 回答 3

0

如果要从 url 中删除 index.php,只需按照以下步骤操作:

1) 与应用程序持有者并行创建 .htacess 文件,然后复制以下代码:

RewriteEngine On
RewriteBase /CodeIgniter/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

2) 在应用程序文件夹中的 config.php 中将 $config['index_page'] 更改为空白,如下所示:

$config['index_page'] = '';

3) 启用 apache 的“rewrite_module”。

我的详细博客:http ://change-in-codeigniter.blogspot.in/

于 2013-10-22T05:08:55.513 回答
0

如果您使用 IIS,您需要在根目录中创建一个名为 web.config 的文件并粘贴以下内容

<system.webServer>

    <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true"/>

    <rewrite>
    <rules>
        <rule name="RuleRemoveIndex" stopProcessing="true">
            <match url="^(.*)$" ignoreCase="false" />
            <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true"/>
        </rule>
    </rules>
    </rewrite>

</system.webServer>

<system.web>
    <customErrors mode="Off"/>
    <compilation debug="true"/>
</system.web>

于 2013-10-22T05:31:52.923 回答
0

检查这个

在 config.php 上

 $config['index_page'] = 'index.php';

在.htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
于 2013-10-22T05:44:44.927 回答