1

サイトのホームディレクトリをサブディレクトリに移動したので、サブがルートになりました。

ただし、サブディレクトリを指すリンクはまだ世界中にあるので、すべてのクエリ文字列パラメータを取得しながらリダイレクトを実行したいと思います。

ニュースブログは以前は「/news/」にありましたが、現在はブログがホームディレクトリになっています。

たとえば、リダイレクトしたい

example.com/news/?p=1092
to
example.com/?p=1092

問題は、クエリ文字列がたくさんあることです。それらすべてを取得したいと思います。

できません:($ _ GET ["p"])

次のような場合もあるため:

example.com/news/?page=1092&location=xyz

新しいアプリケーションでまだニュースディレクトリを使用しているので、htaccessも使用できないと思います。したがって、書き換えルールは非常に複雑になります。

ニュースディレクトリにindex.phpを作成して、parse_urlまたは$_SERVER['REQUEST_URI']を実行できるのではないかと考えていました。example.com/news/で分割しますが、方法がわかりません。

考え?

4

2 に答える 2

1

hteページのURIを取得する

$request_url=$_SERVER['REQUEST_URI'];

出力はnews/?p=1023

結果を爆発させる

explode("/", $request_url, 2);

後にコンポーネントを取得して/news/からリダイレクト

$link = $request_url[2]; //the second piece of the explode
header( 'Location: http://www.example.com/$link' ) ;
于 2012-04-16T02:08:26.897 に答える
0

あなたはフロントコントローラーのパターンを探しています。Googleには、これを含む多くの例があります。お役に立てれば!

于 2012-04-16T02:02:29.223 に答える