私は.htaccess
までのルーティングシステムを使用してPHPでアプリケーションを開発しましたが、今日まで、 。.htaccess〜〜ユーザパラメータ(Apache UserDir)を使用したドメインIPでのルーティング
今日、私のクライアントは、ドメインがまだ関連付けられていないサーバーにアプリケーションを展開するように依頼しました。そのため、すべてが問題ないかどうかをテストするIPアドレスを私に提供しました。問題は、このIPがURLに存在するusernameパラメータを必要とし、その結果、実行が常にサーバのデフォルト404エラーページにリダイレクトされることです。
IPは、このようなもの(一部の値が変更されている)である:私は、追加のパラメータを指定せずに単にそのリンクを実行すると、私は私のDirectoryIndex
するように構成されている私のserverindex.php
ファイルに到達することができます
http://192.185.65.31/~gef/
.htaccess
。 しかし、言語(例:en/
)のようなパラメータを追加しようとすると、自動的に404ページにリダイレクトされます。次のように
マイ.htaccess
ルーティング設定は次のとおりです。
DirectoryIndex serverindex.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . serverindex.php
この構成では、いつも私は、例えば、belloweのようなURLを受信して操作することが許さ:
私はなるように、私は.htaccess
を設定することができますどのように
Example: http://example.com/param1/param2/param3
Array
(
[0] => param1
[1] => param2
[2] => param3
)
URLにユーザ名を入力しないでください(サーバがそれを処理して正しいユーザアカウントを記録できるようになります)。次のデータをパラメータとしてアプリケーションに渡しますか?
Example: http://example.com/~username/p1/p2/p3
Array
(
[0] => p1
[1] => p2
[2] => p3
)
おそらく、再書き込みはApacheの.confファイルでは許可されていませんか? –
これは私がこのコード行を実行したときに真である 'strpos(shell_exec( '/ usr/local/apache/bin/apachectl -l')、 'mod_rewrite')!== false' – CIRCLE