2017-05-21 8 views
1

私はいくつか問題があります。開発中に私はPHP 7を使用しており、私のウェブサイトはうまく機能しています。しかし、生産では、PHP 5.4を使用して、私はindex.phpを削除する際に問題があります。私のウェブサイトはmyhost/mywebsitefolderのようにサブフォルダでホストされています。サブフォルダのコードイグナイターのindex.phpを削除

問題は、url関数を使用している場合です。たとえば、「ダッシュボード」ページにアクセスすると、「ログイン」ページにリダイレクトされ、URLはmyhost/mywebsitefolder/loginのようになり、404ページが見つかりません。ログイン(myhost/mywebsitefolder/index.php/login)の前にindex.phpを追加すると正常に動作しますが、私はindex.phpを追加することですべてのURLを置き換える必要があります。解決策はありますか?私の.htaccessはこれと似ています。

RewriteEngine on 
RewriteBase /mywebsitefolder/ 
RewriteCond $1 !^(index.php|resources|gallery|json|slider|robots.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
+0

ライン 'のRewriteRule ^に疑問符を追加して試してみてください$インデックス :いいえ、同じ問題で他のスレッドがある場合

、あなたは見ることができます.php?/ $ 1 [L、QSA] '。 – Tpojka

答えて

1

のように、ドットの前にスラッシュを試してみてください:

DirectoryIndex index.php 

<IfModule mod_rewrite.c> 

    RewriteEngine on 
    RewriteBase /mywebsitefolder 
    RewriteCond $1 !^(index\.php|resources|gallery|json|slider|robots\.txt) 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

</IfModule> 

<IfModule !mod_rewrite.c> 
    ErrorDocument 404 index.php 
</IfModule> 

そしてアプリケーション/設定/ config.phpので、インデックス・ページの設定値をクリア:

// Old 
$config['index_page'] = "index.php"; 

// New 
$config['index_page'] = ""; 

場合によっては、rewriteモジュールを有効にして、 "apache2 enable module rewrite"を実行する必要があります。

sudo a2enmod rewrite 

は、変更を適用するためにWebサーバを再起動する必要があります。

sudo service apache2 restart 

は、それが作品を願って! (。*)Remove index.php from codeigniter in subfolder - - - Remove index.php from Codeigniter URL in subfolder with Wordpress in root Using htaccess to remove codeigniter index.php in a subdirectory

+0

ありがとう、問題は私のapacheモジュールにあると思います –

関連する問題