1

我无法从 codeigniter 中的 url 中删除 index.php 我已经尝试过这个 .htaccess 文件代码。

RewriteEngine on
RewriteCond $1 !^(index\.php|public|\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1

我删除了配置文件中的 index.php

如何解决这个问题呢?

4

3 回答 3

0

请尝试下面的代码。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

将代码放在根文件夹的 htaccess 文件中。它对我有用。请让我知道它是否对你有用。

于 2013-09-29T05:41:45.503 回答
0

首先你必须在 Apache 服务器中启用 rewrite_module
然后你的 .htaccess 文件应该是这样的 -->

> <IfModule mod_rewrite.c>
>     RewriteEngine On
>     RewriteBase /rttt/
> 
>     #Removes access to the system folder by users.
>     #Additionally this will allow you to create a System.php controller,
>     #previously this would not have been possible.
>     #'system' can be replaced if you have renamed your system folder.
>     RewriteCond %{REQUEST_URI} ^system.*
>     RewriteRule ^(.*)$ /index.php?/$1 [L]
>     
>     #When your application folder isn't in the system folder
>     #This snippet prevents user access to the application folder
>     #Submitted by: Fabdrol
>     #Rename 'application' to your applications folder name.
>     RewriteCond %{REQUEST_URI} ^application.*
>     RewriteRule ^(.*)$ /index.php?/$1 [L]
> 
>     #Checks to see if the user is attempting to access a valid file,
>     #such as an image or css document, if this isn't true it sends the
>     #request to index.php
>     RewriteCond %{REQUEST_FILENAME} !-f
>     RewriteCond %{REQUEST_FILENAME} !-d
>     RewriteRule ^(.*)$ index.php?/$1 [L] </IfModule>
> 
> <IfModule !mod_rewrite.c>
>     # If we don't have mod_rewrite installed, all 404's
>     # can be sent to index.php, and everything works as normal.
>     # Submitted by: ElliotHaughin
> 
>     ErrorDocument 404 /index.php </IfModule>
于 2013-09-28T11:29:29.773 回答
0

请使用此代码

RewriteEngine on
RewriteBase / -- Your folder containing htaccess file-- / 
# 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]
于 2013-09-28T11:34:19.410 回答