web-dev-qa-db-ja.com

UBUNTUのcodeigniterからindex.phpを削除する方法

私はこの質問がすでに尋ねられていることを知っています、私はそれらすべてを試しましたが、それでもurlからindex.phpを削除することができません。これが私の詳細です

Ubuntu 12.10
PHP : 5.4.6
Mod_rewrite in on
CI verson: 2.1

.htacessは次のようになります。

RewriteEngine On
RewriteBase /projectname

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

私は以下のリンクも見ますが、運はありません。 RL CIベースのサイトからindex.phpを削除できません

codeigniterのパスから「index.php」を削除する方法

「/ etc/Apache2/sites-available/default」は次のようになります。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None 
        </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${Apache_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>

助けてくれてありがとう!!

14
Suresh Kamrushi

application/config/config.php 変化する:

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

に:

$config['index_page'] = '';

apache構成ファイルを変更するたびに、Apacheのリロードを実行することをお勧めします。

Sudo /etc/init.d/Apache2 reload

または:

Sudo service Apache2 reload

または:

Sudo /etc/init.d/httpd reload

(またはあなたのプラットフォームに相当するコマンドは何でも)

それが価値があるもののために、ここに私の.htaccessがあります

RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|static|robots\.txt|favicon\.ico|uploads|googlexxxxxxxx\.html|mobile.html)
RewriteRule ^(.*)$ index.php/$1 [L]
6
Kinjal Dixit

ステップ1:

これをhtaccessファイルに追加します

<IfModule mod_rewrite.c>
  RewriteEngine On
  #RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [QSA,L]
</IfModule>

ステップ2:

Codeigniter設定でindex.phpを削除します

$config['base_url'] = ''; 
$config['index_page'] = '';

ステップ3:

Apache設定でhtaccessの上書きを許可する(コマンド)

Sudo nano /etc/Apache2/Apache2.conf

ファイルを編集して次のように変更します

AllowOverride All

wwwフォルダー用

ステップ4:

Apache mod rewriteを有効化(コマンド)

Sudo a2enmod rewrite

ステップ5:

Apacheを再起動(コマンド)

Sudo /etc/init.d/Apache2 restart
61
Dino

私の.htaccess

RewriteEngine on

RewriteCond $1 !^(index.php)

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