2

我已经阅读了有关它的删除指南,他们告诉我将其添加到我的 htdocs 根目录中的 .htaccess 中:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

但是我的网站目录是这样的:htdocs\mywebsite\

我尝试在 htdocs 和 mywebsite 中添加 htaccess 文件,但没有结果。我也试过修改最后一行看起来像

RewriteRule ^(.*)$ mywebsite/index.php/$1 [L]

在 htdocs 和 mywebsite 目录中。但我不知道什么是正确的 .htaccess 语法或它是如何工作的,所以我真的没想到它会起作用。

我还尝试在 codeigniter 目录树的其他任何地方修改 .htaccess 文件。

4

3 回答 3

3

你看过这个吗?如何删除codeigniter路径中的“index.php”

您是否更改了配置文件中的 index_path 变量?那是application/config/config.php,2.1.3版的第29行

于 2012-11-26T18:26:22.353 回答
1

根目录和网站目录中都需要有一个 htaccess 文件。它们都需要包含相同的内容,除了根目录中的文件需要更新索引的路径以包含您的网站目录。

根目录:

RewriteEngine on
RewriteBase /
# Hide the application and system directories by redirecting the request to index.php
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ yourwebsite/index.php/$1 [QSA,L]

网页目录:

RewriteEngine on
RewriteBase /
# Hide the application and system directories by redirecting the request to index.php
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [QSA,L]
于 2012-11-26T19:43:45.077 回答
0

确保你的虚拟主机条目中有这个:

    <Directory "/path...to directory">
        Order allow,deny
        Allow from all
        Allowoverride all
    </Directory>

    <IfModule mod_rewrite.c>
        RewriteEngine on
    </IfModule>

除根目录外,您无需修改​​任何 .htaccess 文件。如上所述,请确保您在 config.php 文件中进行了正确设置。

于 2012-11-26T18:36:29.017 回答