1

簡単な質問です。私はそれが何百回も尋ねられるのを見てきましたが、私はそれを機能させることができないようです (残念です)。

index.php 以外のものを view.php?id=$1 にリダイレクトしようとしていますが、ここで $1 は index.php 以外のものですが、動作させることができないようです。

例えば:

http://domain.com/は index.php
http://domain.com/index.phpを使用する必要があり
ますが、..
http://domain.com/sdgoi3はhttp://domain.com/viewを使用する必要があります.php?id=sdgoi3など

いくつかのことを試し、上記の質問に答えましたが、役に立ちませんでした。

誰かが解決策を得ましたか?感謝。

4

2 に答える 2

1

これをドキュメントルートのhtaccessファイルに入れてみてください。

RewriteEngine On
RewriteRule ^$ /index.php [L]
RewriteRule ^index\.php - [L]
RewriteRule ^view\.php - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /view.php?id=$1 [L]

ここでのロジックは次のとおりです。

  1. リクエストURIがに/書き換えられる場合index.php
  2. リクエストURIがで始まる場合は、index.php変更せずにパススルーしてください
  3. リクエストURIがで始まる場合は、view.php変更せずにパススルーしてください
  4. リクエストが存在しないファイルまたはディレクトリに対するものである場合view.phpは、idparamを使用してに渡します
于 2012-07-29T18:50:11.357 に答える
0

多分次のようなもの:

RewriteCond %{REQUEST_URI} !^index\.php
RewriteCond %{REQUEST_URI} !^view\.php
RewriteRule ^(.*)$ view.php?id=$1 [L]

于 2012-07-29T18:49:24.137 に答える