0

I used the code below to remove index.php in codeigniter in my .htaccess file. But the thing that I am confused is where should i use the file. should i use it inside my www folder outside the application or inside the application.

I used it in all places, and it worked but it is messing up with my css or say base folders. How can I overcome the problem. Should i use the html base tag?

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

EDIT

my folder structure is

basefolder
  -application
  -css
  -js
  -images   
  -system
.htaccess
index.php
4

5 に答える 5

2

既存のすべてのファイルを除外する RewriteCondition を追加できます。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
于 2013-02-05T00:42:55.993 に答える
1

これを使って

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

動作しない場合は、入っているかどうかを確認してenabled mod_rewirteくださいphpinfo();

まだ動作しない場合は、行 40/54 で$config['uri_protocol']='AUTO'リストされている内部ファイルの 1 つに変更してみてください。application/config/config.php

|
| 'AUTO'            Default - auto detects
| 'PATH_INFO'       Uses the PATH_INFO
| 'QUERY_STRING'    Uses the QUERY_STRING
| 'REQUEST_URI'     Uses the REQUEST_URI
| 'ORIG_PATH_INFO'  Uses the ORIG_PATH_INFO
|
*/
$config['uri_protocol'] = 'AUTO';

時々私は使用しました:REQUEST_URI代わりにAUTO

于 2013-02-05T10:45:16.517 に答える
0

私のソリューション、CIシステムは上に移動します(Webから公開されていません)、アプリケーションは.htaccessサブドメインごとに公開されています(ルートディレクトリ内)が、構造によって異なります(多くのソリューションが存在します)

RewriteBase /
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L] 
于 2013-02-05T09:28:30.593 に答える
0

以下のコードをコピーして .htaccess ファイルに貼り付けます

オプション +FollowSymLinks

RewriteEngine オン

オプション -インデックス

RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /index.php\ HTTP/ RewriteRule ^index.php$ http://www.yoursite.com/ [R=301,L]

于 2013-02-05T11:15:22.780 に答える
0
RewriteEngine on
RewriteCond $1 !^(index\.php|css|js|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

これは、css が index.php などと同じディレクトリにあることを前提としています。このルールは、ファイル構造によって異なります。ディレクトリツリーの例で質問を更新すると、ルールを変更できます。

あなたはそれが機能すると述べていますが、物事を台無しにするだけなので、これに必要な他の構成はありません。

これが貼り付けられたものは私のCI htaccessファイルにある唯一のものであり、私のものは正常に動作することに注意してください。

また、Will のコメントも参照してください。私の設定 URL サフィックスは常に "" です

于 2013-02-05T00:42:39.783 に答える