ホームページ  >  に質問  >  本文

Apache はルーティングを書き換えて、index.php をローカル環境に隠します。

  1. ローカル httpd.conf ファイルの LoadModule rewrite_module modules/mod_rewrite.so が有効になりました

  2. ルートディレクトリの.htaccessファイルの書き換えルールは以下の通りです:

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/ [QSA,PT,L]
</IfModule>

  1. config.php ファイルにすでに設定されています: 'URL_MODEL' => 2,

アクセス用にサーバーに公開: http://ドメイン名/admin に正しくアクセスできますが、ローカル テスト環境では、ルート ディレクトリの仮想ドメイン名を適用した後、アクセス:
http://inurse.com/admin エラー:
404 NOT Found
要求された URL /Admin/Org/orgAdd がこのサーバー上に見つかりませんでした。
理由をお聞きしたいのですが? Apacheがルーティングルールを書き換える原理とは(わかりやすく解説)
別: 書き換えルールが試行されました:
RewriteRule ^(.*)$index.php?/$1 [QSA,PT,L]RewriteRule ^(.*)$ index.php?/ [QSA,PT,L]
RewriteRule ^(.*)$ index.php?s=/ [QSA,PT,L]RewriteRule ^(.*)$index 。 php?s=/$1 [QSA,PT,L]

巴扎黑巴扎黑2712日前696

全員に返信(1)返信します

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:00:54

    オーナーさん、設定が間違っているようです:
    1. 次の設定は Apache 設定である必要があります httpd.conf
    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$index.php/$1 [QSA,PT,L]
    </IfModule>

    2. .htaccess 設定には中央の設定のみが必要です:
    RewriteEngine on

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

    2 番目の方法を使用することをお勧めします。

    返事
    0
  • キャンセル返事