0

get パラメータを使用して、すべての .html ページを process.php にリダイレクトしました。クエリ URL をクリーンアップしたいと考えています。

このようにリダイレクトしました。

RewriteEngine on
RewriteRule ^([^/]*)/(.*\.html) /Site/process.php?dir=$1&page=$2 [R=301,L]

これにより、このようなURLが得られます。

http://localhost/Site/process.php?dir=Directory&page=page.html

この URL を元の URL に戻して、get パラメータを投稿できるようにしたいです。

http://localhost/Site/Directory/page.html

私はこのようにしてみました。

RewriteEngine on
RewriteRule ^([^/]*)/(.*\.html) /Site/process.php?dir=$1&page=$2 [R=301,L]
RewriteRule ^Site/$1/$2([^/.]+)/?$ [L]

しかし、それは何もしません。

これに対する可能な方法を見て、提案してください。

ありがとう。

編集

これらの html ページは実際には存在しません。ページ内のリンクだけです。これらのリンクを処理して、php と htaccess を使用してデータベースからページを作成し、URL をそのまま維持したいのですが、これを行うことができます。

4

2 に答える 2

0

一部への回答and still be able to post get parameter(完全な元のクエリ文字列をスクリプトに渡す):

RewriteRule some.html some-other.php?%{QUERY_STRING} [L]

役に立つかもしれません。

于 2012-12-16T09:14:32.410 に答える
0

アドレス バーに "html" の部分を残して "pretty URL" を作成したいだけの場合は、[R]フラグをオフにして、2 番目のルールを削除します。リダイレクトはサーバー上で行われますが、ブラウザにはまだ.htmlURL があります。

于 2012-12-17T05:34:38.023 に答える