質問

私はPHPの初心者です。誰もがここで各行が何をするのか教えてもらえますか。これは必要ですか?エラーが発生しています

RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /~%1/rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteRule ^index\.php?(.*)$ /~%1/rewrite.php?p=%1&%{QUERY_STRING} [L]
#there is no ~ character in the URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) ./rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteRule ^index\.php?(.*)$ ./rewrite.php?p=$1&%{QUERY_STRING} [L]
#WJ-180 fix
RewriteRule ^resume\.php?(.*)$ ./rewrite.php?p=resume\.php$1&%{QUERY_STRING} [L]
役に立ちましたか?

解決

単純な答え:これらの宣言は、すべてのリクエストを rewrite.php ファイルに書き換えます。

より包括的な答え: RewriteCond および RewriteRule ディレクティブは Apacheモジュールmod_rewrite を使用して、ルールベースのURL書き換えメカニズムを提供します。

これらのルールは、特定のディレクトリ( /〜 foobar rewrite.php ファイルへのすべてのリクエストを書き換えることを目的としているようです> /rewrite.php )またはルート内( /rewrite.php )。

他のヒント

初めての方は、 http://httpd.apacheをご覧ください。 org / docs / 1.3 / mod / mod_rewrite.html 、非常にうまく説明されています。

p.s。タイトル" PHPの.htaccessファイルでこれらの宣言はどういう意味ですか?" .htaccesはphpファイルではありません。

これらの発言

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

"リクエストが既存のファイルまたはディレクトリと一致しない場合のみ、次のルールを使用します。"

これらは、 mod_rewrite 構成エントリです。

これはApache mod_rewriteルールです。何らかのフレームワークを使用しているのでなければ、おそらく必要ないでしょう。詳細については、Apache mod_rewriteを参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top