/ / htaccessを使用してurl書き換えおよびフォルダーへのリダイレクト-php、apache、.htaccess、mod-rewrite、url-rewriting

URLを書き換えて、htaccessを使ってリダイレクトする - php、apache、.htaccess、mod-rewrite、url-rewriting

OK「URLの書き換えとリダイレクトの問題は初めてです。GoogleとStackoverflowで上下に検索して、うまくいく答えを見つけましたが、何もうまくいかないようです!!」

私が達成しようとしているのは... このリンクをご覧ください: mysite.com/research/index.php?quote=goog

それを変換して、これにリダイレクトします: mysite.com/research/goog

URL文字列の末尾の「goog」がURLに配置されたフォームから取得されることは重要ですか? 「goog」をつかむために使用されるコードはここにあります <?php echo $_POST["quote"];?>

以下は、私が持っている唯一のスニペットコードですhtaccessファイルは機能しません。動作しませんか?間違っていますか?コードに何か足りないものがありますか?ルートディレクトリ(mysite.com)にコードを配置します。 .com / research /)

RewriteEngine On
RewriteRule ^quote/([^/]*)$ /research/index.php?quote=$1 [L]

ホスト/サーバーが.htaccessファイルを受け入れられない可能性はありますか?web.configファイルでそれを行う必要がありますか?その場合、上記のコードを有効なweb.configファイルに変換するにはどうすればよいですか?

回答:

回答№1の場合は3

これらはあなたが必要とするルールです /research/.htaccess ファイル:

RewriteEngine On
RewriteBase /research/

RewriteCond %{THE_REQUEST} /index.php?quote=([^s&]+) [NC]
RewriteRule ^ %1? [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?quote=$1 [L,QSA,NC]

にアクセスします index.php を使用して:

$quote = $_GET["quote"];`

回答№2の場合は0

これはあなたのために働くはずです:

RewriteEngine On
RewriteCond %{QUERY_STRING} "quote=([^&]+)"
RewriteRule ^/research/index.php /research/%1? [R,L]

クエリ文字列は、URLにリクエストして、明示的に確認する必要があります。 RewriteCondを使用すると、「quote」パラメーターが存在する場合、その値を「キャプチャ」することができます(それに続く「&」以外のすべての文字を取得します)。これにより、書き換え自体で使用できる%1変数が設定されます。