1

htaccess 書き換えルールの前にプレフィックスを付けることは可能ですか?

たとえば、変数を URL のプレフィックスとして使用できます

website.com/ $variable -for-sale/

       /cupcakes-for-sale/
       /pies-for-sale/
       /flans-for-sale/

次に、その変数を使用して、販売中のすべてのカップケーキ/パイ/フランを表示します。

これを書き換え規則としてどう書くか。それは可能ですか?

ありがとう

4

2 に答える 2

1

最初のルールは、醜い URL を Friendly にリダイレクトするように処理します。

2 番目のルールは、ページのコンテンツを提供している間、ブラウザの URL がわかりやすい URL のままになるように内部的にリダイレクトします。

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

# Redirect /?cake=anything to /anything-for-sale/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+\?cake=([^&\s]+) [NC]
RewriteRule ^ /%1-for-sale/? [R=302,L]

# Internally forward /anything-for-sale/ to /?cake=anything
RewriteRule ^([^-]+)-for-sale/?$ /?cake=$1 [NC,L]

R=302常に使用する方が良いことに注意してください302。これは、新しいルールをテストするときに一時的なリダイレクトを意味し、永続的にする前に、永続的に情報をブラウザーにキャッシュするためです。ルールが期待どおりに機能していることが確認されたら、 に変更R=302R=301ます。

于 2013-09-05T15:23:42.550 に答える
0

変数を抽出するには、正しいパターンで正規表現のかっこを使用する必要があります。その後$1、グループをフェッチするために使用できます。

RewriteRule ^([^-]+)-for-sale/$ /target.php?variable=$1 [L]

「ターゲット」部分は、「変数」を表示するために使用するスクリプトです。あなたの質問はそれが何であるかについて言及していないので、あなたはそれを理解する必要があります.

于 2013-09-05T15:21:03.727 に答える