2017-01-03 11 views
1

"http://www.sitename.com/projectfoldername/"のようなサブフォルダとしてサイトをホストしました。 ここにはホームページのみが表示されています。どのメニューをクリックしても404エラーが表示されるので、コントローラ名の前にindex.phpを書き込んでURLを変更しました。これでURLがこれから変更されました: "http://www.sitename.com/projectfoldername/controller-name/function-name"これ:"http://www.sitename.com/projectfoldername/index.php/controller-name/function-name".htaccessがサーバー上で動作していません

私のhtaccessファイル

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

のconfig.php ..ページを示していますが、ローカルでのみ働い

$config['base_url'] = 'http://www.sitename.com/projectfoldername/'; 
$config['index_page'] = ''; 
$config['uri_protocol'] = 'REQUEST_URI'; 

答えて

1

あなたがUbuntuでApache Webサーバー、アクティブなあなたのmod_rewrite

を使用した場合:ウィンドウの

sudo a2enmod rewrite 

行をhttpd.confファイルを開いて、検索

#LoadModule rewrite_module modules/mod_rewrite.so and remove the hash ‘#’ 
0

使用RewriteBase /projectfoldernameそうのようなあなたの.htaccessファイルに:.htaccessファイルに以下を追加し

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

変更しないでください。 –

0

試して、それはあなたを助けるかもしれません。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
+0

は動作しておらず、変更されません。 –

0

@antroo ghosh最初に、どのWebサーバー(ApacheまたはIIS)を使用しているかを知っておく必要があります。

Windows(IIS)サーバーを使用している場合は.htaccessを使用できません。IISでは.htaccessの代わりにweb.configを使用する必要があります。詳細https://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig

については

私はこの5月はあなたに役立ちます願っています!

関連する問題