2011-12-29 13 views
0

せずに404を与えますそれからthis websiteCodeIgniterのは、経由でアクセスしたときに、私は404エラーを取得していますのindex.php

<IfModule mod_rewrite.c> 

    RewriteEngine On 
    RewriteBase/

    ### Canonicalize codeigniter URLs 

    # If your default controller is something other than 
    # "welcome" you should probably change this 
    RewriteRule ^(home(/index)?|index(\.php)?)/?$/[L,R=301] 
    RewriteRule ^(.*)/index/?$ $1 [L,R=301] 

    # Removes trailing slashes (prevents SEO duplicate content issues) 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.+)/$ $1 [L,R=301] 

    # Enforce www 
    # If you have subdomains, you can add them to 
    # the list using the "|" (OR) regex operator 
    RewriteCond %{HTTP_HOST} !^(www|www1) [NC] 
    RewriteRule ^(.*)$ http://www1.sherzod.me/z/$1 [L,R=301] 

    # Enforce NO www 
    #RewriteCond %{HTTP_HOST} ^www [NC] 
    #RewriteRule ^(.*)$ http://www1.sherzod.me/z/$1 [L,R=301] 

    ### 

    # Removes access to the system folder by users. 
    # Additionally this will allow you to create a System.php controller, 
    # previously this would not have been possible. 
    # 'system' can be replaced if you have renamed your system folder. 
    RewriteCond %{REQUEST_URI} ^system.* 
    RewriteRule ^(.*)$ /index.php/$1 [L] 

    # Checks to see if the user is attempting to access a valid file, 
    # such as an image or css document, if this isn't true it sends the 
    # request to index.php 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L] 

</IfModule> 

<IfModule !mod_rewrite.c> 

    # Without mod_rewrite, route 404's to the front controller 
    ErrorDocument 404 /index.php 

</IfModule> 

コンフィグ:

$config['index_page'] = ''; 
$config['uri_protocol'] = 'AUTO'; 
$route['default_controller'] = "home"; 

UPDATE: はerror_logの中でこれを取得:
[2011水曜日12月28日午前17時54分30秒] [告知]無視--- 401 ErrorDocumentディレクティブで完全なURLを使用することはできません!

気にしないでください。

はされている必要があります:

のRewriteRule^$のz/index.phpを/ $ 1 [L]

代わりの

のRewriteRule ^(。*) (。*)$ index.php/$ 1 [L]

はコードがzフォルダ内にあるためです。訪問してくれてありがとう。 :)

答えて

1

を保存します。

これを正しく実装するには、ルールを特定のフォルダに指定するのではなく、RewriteBaseディレクティブを変更する必要があります。サイドノートでは

あなたの場合

RewriteBase /z/ 

、むしろあなたがそれを修正したと言うためにあなたの質問を改正するよりも、あなたは同じ効果に答えを投稿する必要があります。これにより、未回答のフィードなどに表示される質問が防止されます。

0

はい、.htaccessからurlからindex.phpを簡単に削除できます。詳細はurlをご確認ください。

+0

リンクはアクセスできません: "申し訳ありませんが、このリソースにアクセスする権限がありません。 – Sherzod

+0

http://codeigniter.com/user_guide/general/urls.htmlこれは私の最後に開いています。あなたのファイアウォールをチェックしてください。 –

+0

私の悪い。開いているタブが多すぎます。 – Sherzod

1

最初に設定ファイル.... に行き、$ config ['index_page'] = ''; は、あなたの質問にあなたの問題を「解決」している一方で、あなたの実装が実際に間違っている.htacess拡張子を持つ一つのファイルを作成し、その中で、コードの下に書いて、ルートディレクトリに

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