1

簡単な URL を作成するために RewriteRule を作成しようとしています。ユーザーが入力できるようにしたい

www.example.com/somepage

連れて行ってもらう

www.example.com/abc/somepage.php

これは .htaccess でどのように行うことができますか?

私はこれらを無駄に試しました:

RewriteRule ^somepage$ abc/somepage.php [L]

RewriteRule ^/somepage$ /abc/somepage.php [L]

私は何を間違っていますか?

編集: nginxは、構成ファイルの書き換えも処理できます(実際には好ましいと思います)。これは私の場合です(以下の回答を参照)。HTH

4

2 に答える 2

1

ユーザーの Web ブラウザーを PHP ページにリダイレクトする場合R=301は、RewriteRule の最後にフラグが必要です。

しかし、(Apache がリソースを見つける場所を知っているが、ユーザーの Web ブラウザは単に「クリーンな」URL を見るだけのように) 要求を静かに書き換えたい場合は、`R' フラグは必要ありません。

次のことを試してください。

RewriteRule ^somepage$ /abc/somepage.php

これは /somepage のリクエストのみを書き換えて、Apache が代わりに /abc/somepage.php からコンテンツをフェッチするようにします。

于 2013-05-01T18:09:48.707 に答える
0

私たちの nginx サーバーは .htaccess ファイルを利用していました (以前に書き換えを実装したため) が、現在は構成 (.conf) ファイルで書き換えを処理しています (これが推奨される方法です)。

.conf ファイルを変更する権限がないため、テストされていないコードは投稿しません。これが誰かの役に立てば幸いです。

于 2013-05-02T16:01:29.060 に答える