0

RewriteRule中には多すぎ.htaccessます。

今、私はそれらを削除しRewriteRule、phpを使用してリンクをロードまたはリダイレクトするのが好きです。

そのために使用していますheaderが、使用すると、ブラウザの元のURLが変更されます。

例:私の元のリンク:http://test.com/something/someID、そしてヘッダーを使用すると、次のように変更されます:http://test.com/page.php?id=

結論として、使用せずにリンクを管理するにはvbseo(vbulletin)のようなものが必要ですRewriteRuleが、もちろん、.htaccessすべてのリンクを特定のページにリダイレクトするための以下のコードが含まれています。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php [L,QSA]
4

2 に答える 2

1

ヘッダーを付けないでください。デフォルトでは、リダイレクトされたリンクは同じままです。(サーバーはそれらをリダイレクトしますが、クライアントには透過的です)。したがって、それを index.php に渡す必要がありますが、元のルートの GET 値を使用します。

そう...

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f    #If requested filename is not a file
RewriteCond %{REQUEST_FILENAME} !-d    #If requested filename is not a directory
RewriteRule ^(.+)$ index.php?route=$1 [L,QSA]

そのため、index.phpファイルをチェックインして、それに基づいて必要に応じて再ルーティングできるexample.com/this/is/a/testリダイレクト先にリダイレクトしますexample.com/index.php?route=this/is/a/test$_GET['route']

于 2012-04-24T12:19:09.983 に答える
0

これがあなたが求めたものであるかどうかは正確にはわかりません:

Codeigniter URI クラスのようなクラスを使用して、URI の単一セグメントを取得できます。

URI クラス ソース

URI クラスの説明

指定されたセグメントを使用すると、.htaccess にハードコーディングせずに、アプリケーションで何をすべきかを決定できます。

于 2012-04-24T12:21:32.233 に答える