web-dev-qa-db-ja.com

CodeIgniter 3のURLからindex.phpを削除

CodeIgniter 3でプロジェクトを行っています。URLからindex.phpを削除する必要があります。そのため、CodeIgniter 3の.htaccessファイルを取得し、このファイルを配置する場所も教えてください。

これは私のbaseurlです

http://cableandmedia.com/demo/
5
Yadhu Babu

以下のコードでhtaccessファイルを更新します

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

そして設定ファイルで、以下のコードでベースURLを変更してください:-

$root  = "http://".$_SERVER['HTTP_Host'];
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
$config['base_url']    = $root;
14
Deepak Dholiyan
place your htacces file in the root directory and use this following code
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
6
user6443475
  1. プロジェクトのroot.htaccessファイルを作成します

。htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On
  # !IMPORTANT! Set your RewriteBase here and don't forget trailing and leading
  #  slashes.
  # If your page resides at
  #  http://www.example.com/mypage/test1
  # then use
  # RewriteBase /mypage/test1/
    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>

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin: "*"
</IfModule>

2. root/application/config/config.phpにあるindex.phpを削除します

$config['index_page'] = '';

3.サーバーが新しい場合|サーバーの書き換えモードがターミナルを開くより拒否されましたコードの下にSSHタイプでサーバーを接続

Sudo a2enmod rewrite
Sudo service Apache2 restart
Sudo nano /etc/Apache2/Apache2.conf

その後AllowOverrideAllかどうかを確認してください

<Directory “/var/www”>
  AllowOverride All
</Directory>
3
Renish Gotecha

ファイル:config.php

$config['index_page'] = '';

ファイル:.htaccess

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

RewriteEngineを使用すると、サーバーに着信し、正規表現パーサーに基づくURL要求を書き換えることができます。

1
Ivan Porta

config.phpで、次の変更を加えます。

$config['index_page'] = '';

そして、次の内容で.htaccessファイルをメインプロジェクトディレクトリに追加します

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

<Files "index.php">
AcceptPathInfo On
</Files>
1

上手、

ここで私がしたこと

これに「.htaccess」を編集/作成しました

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

および「app/config/config.php」

$config['base_url'] = '';
$config['uri_protocol'] = 'AUTO';

および「app/libraries/Template.php」

define("PATH", base_url()."index.php/");
define("BASE", base_url());

乾杯!

1
TreeDevStudio