ホームページ > バックエンド開発 > PHPチュートリアル > REWRITE モードをオンにしても効果がないのはなぜですか?

REWRITE モードをオンにしても効果がないのはなぜですか?

WBOY
リリース: 2016-06-23 13:22:00
オリジナル
799 人が閲覧しました

アドレスバーに http://localhost/app/index.php/Login と入力すると、Web ページが表示されます
http://localhost/app/ このようにして、Web ページが見つからないことを示すメッセージが表示され、アドレスバーが http://localhost/app /Login に変わります

http://localhost/app/index.php/Login このようにして、Web ページが表示されます

PHP のバージョンは 5.5 ThinkPHP のバージョンは 3.12 です

.htaccess 内部の内容は次のとおりです:

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


Lo adModule rewrite_module modules/mod_rewrite.so の前の # 番号が削除され、AllowOverride All も変更されました

Config 設定ファイルに 'URL_MODEL' = が追加されました> 2

コードは次のとおりです:
class IndexAction extends CommonAction {
Public functionindex(){

}
}

header('Content-type:text/html;charset=utf-8');
//パブリックコール非執行クラス
Class共通作用はアクションを拡張します{

//コンストラクター関数__construct ){

Display('login');



返信ディスカッション (解決策)

RewriteRule ^(.*)$index.php/$1 [QSA,PT,L]


これを

に変更しましたRewriteRule ^(.*)$index.php?s=$1 [QSA,PT,L]

これは実際に出てきました

しかし、私のオンライン検索は基本的にこのようなものは最初で、誰かがそれだと主張したのを一度見ただけです。これに変更されましたが、その理由は説明できませんでした

これは、path_info をオンにしていないことを意味します

Apache のバージョンは何ですか?デフォルトでは有効になっていないのはなぜですか?

どうすれば有効にできますか? phpstudy2014 をダウンロードしました。Apache のバージョンは 2.4.10 です

兄さん、オンラインの方法を試してみたところ、path_info が有効になったようです そうですね
http:/ /localhost/app/index.php/Login はい、path_info がオンになっていることを意味します

では、なぜ RewriteRule ^(.*)$index.php/$1 [QSA,PT,L] が機能しないのでしょうか?

この書き換えルールは、実行のために
http://localhost/app/Login を http://localhost/app/index.php/Login に変更することです

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート