1

訪問者がリダイレクト URL にアクセスしたときに、訪問者を他のサイトに 302 リダイレクトする PHP リダイレクト スクリプトに取り組んでいます。

スクリプトは URL から変数 (id) を取得し、訪問者を特定のページにリダイレクトします。

URL 構造は次のとおりです: example.com/redirect/index.php?id=test

現時点では、「醜い」URL を使用するとすべてのリダイレクトが機能しますが、より使いやすくするために、.htaccess の書き換えを使用して URL からすべての不要な情報を削除したいと考えています。

上記の URL をexample.com/redirect/testのようにするには、どの .htaccess 書き換えルールが必要ですか?

現在、次の .htaccess ルールを使用しています

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]
</IfModule>

しかし、 example.com /redirect/index.php? id=test のような URL に対してのみ機能します。example.com/redirect/ testを試すと、404 エラー ページが表示されます。

2 つの .htaccess ファイルがあり、1 つはルート ディレクトリに、もう 1 つは root/redirects/ ディレクトリにあることを知っておくとよいでしょう。

よろしくお願いします !

4

1 に答える 1

0

これを試して:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)?/?([^/]+)?/?([^/]+)?/?   [NC]
于 2014-01-09T09:01:35.727 に答える