1

通常、私はこのようなページにアクセスします:http://localhost/codeigniter/index.php/auth/login しかし、私はこのようなページにアクセスできるようにしたい:http://localhost/codeigniter/auth/login

http.conf.htaccess構成に関する情報はありません。

私は設定$config['index_page'] = '';しましたcodeigniter/application/config/config.php

私の http.conf ファイルは、コメント解除を除いてデフォルトのままです " LoadModule rewrite_module modules/mod_rewrite.so"

提案された多くの .htaccess ファイルを調べましたが、書き換えルールの背後にあるロジックを理解できませんでした。

これが私にとって最も成功した.htaccessコンテンツです。にあります/www/CodeIgniter/
(最も成功したとは、これがサーバーではなく CodeIgniter によって作成された 404 エラーを与える唯一のものであることを意味します。)

    RewriteOptions Inherit
Options -Indexes
Options +FollowSymLinks
RewriteBase /CodeIgniter/
# Set the default file for indexes
DirectoryIndex index.php

<IfModule mod_rewrite.c>

    # activate URL rewriting
    RewriteEngine on

    # do not rewrite links to the documentation, assets and public files
    RewriteCond $1 !^(images|assets|uploads|captcha)

    # do not rewrite for php files in the document root, robots.txt or the maintenance page
    RewriteCond $1 !^([^\..]+\.php|robots\.txt)

    # but rewrite everything else
    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.

    ErrorDocument 404 index.php

</IfModule>

直接的な解決策を求めるのは嫌いですが、残念ながらそれが私の最後の手段です :/ 問題の適切な解決策を教えていただけますか?

4

3 に答える 3

1

それは私の繰り返しの答えです: ローカルホスト(XAMPP)のパスに関するCodeigniterの問題

プロジェクト フォルダに .htaccess ファイルを作成し、次のように記述してください。

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 

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

構成ファイルの base_url で定義する必要はありません。

$config['base_url'] = ''; // blank it.
于 2012-11-02T17:06:19.387 に答える
0

これは私が見つけた最も簡単なもので、私にとってはうまくいきます:-

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
于 2012-11-02T19:39:29.887 に答える
0

これをhtaccessに入れます

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

サーバーで書き換えモジュールが有効になっていることを確認してください

于 2012-11-02T17:04:37.323 に答える