0

私は CI3 を初めて 使用し、.htaccess で動作する CodeIgniter3 HMVC WireDesignzルーティングを作成するのに 1 週​​間以上を費やすことに本当にイライラしましたが、それでも正しく動作しません。

エラーの原因となるソースは複数あるため、GitHub リポジトリのリンクを記載しますhttps://github.com/ibudisteanu/PHP-TESTS

動作は非常に簡単です。エラーなしで次のアドレスにアクセスできます

ルーティングで次のリンクの返品を受け取ります。

表示されるエラーはNot Found です。要求された URL /login は、このサーバーで見つかりませんでした。

4

2 に答える 2

1

これがあなたのhtaccessファイルに対して行ったすべてであり、テストサーバーで正常に動作しています

Options +FollowSymLinks -Indexes
RewriteEngine on

# NOTICE: If you get a 404 play with combinations of the following commented out lines
#AllowOverride All
#RewriteBase /wherever/ci/is

# RewriteBase /

# Restrict your site to only one domain
# Important USE ONLY ONE OF THESE OPTIONS BELOW!

# Option 1: To rewrite "www.domain.com -> domain.com" uncomment the following lines.
#RewriteCond %{HTTPS} !=on
#RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# Option 2: To rewrite "domain.com -> www.domain.com" uncomment the following lines.
#RewriteCond %{HTTPS} !=on
#RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
#RewriteCond %{HTTP_HOST} (.+)$ [NC]
#RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

# Option 3: Remove index.php from URL
#RewriteCond %{HTTP:X-Requested-With}    !^XMLHttpRequest$
#RewriteCond %{THE_REQUEST}                ^[^/]*/index\.php [NC]
#RewriteRule ^index\.php(.*)$            $1 [R=301,NS,L]

# Send request via index.php (again, not if its a real file or folder)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#RewriteCond $1 !^(index\.php|public_html|\.txt|robots\.txt|favicon\.ico|style\.css)

# deal with php5-cgi first
<IfModule mod_fcgid.c>
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

<IfModule !mod_fcgid.c>

    # for normal Apache installations
    <IfModule mod_php5.c>
        RewriteRule ^(.*)$ index.php/$1 [QSA,L]
    </IfModule>

    # for Apache FCGI installations
    <IfModule !mod_php5.c>
        RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
    </IfModule>

</IfModule>

さっきコメントしたRewriteBase /

私は RewriteBase が何をするのか理解していないので、答えが間違っているかもしれません。

これは私が HMVC で使用する .htaccess であり、問​​題はありません。

    RewriteEngine on
Options -Indexes

RewriteCond $1 !^(index\.php|assets|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
于 2016-06-09T21:50:39.350 に答える