1

URL リダイレクトを作成しようとしていますが、これまでに試したすべてのことは、サイトに何の効果も示していません。他の書き換えが行われているため、ModRewrite が有効になっていることはわかっています。これの全体的な目的は、以前のバージョンの Web サイトの古い URL を処理することです。

私が達成したいのは、次の形式の URL のリダイレクトです:
/resources/view?id={id}にリダイレクトし/resources/{id}ます。

私はこれの変種でそうしようとしています:

RewriteRule ^resources/view?id=([0-9+])$ /resources/$1 [R=301,L]

そしてこれも:

RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^/resources/view$ /resources/$1? [R=301,L]

乾杯。

4

1 に答える 1

0

サイトのルート .htaccess で次の 2 つのルールを使用できます。

Options -MultiViews
RewriteEngine On

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /resources/view\?id=(\d+) [NC]
RewriteRule ^ /resources/%1? [R=301,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^resources/(\d+)/?$ resources/view?id=$1 [L,QSA,NC]
于 2016-09-21T12:16:15.293 に答える