0

動的に生成された PHP サイトの URL を書き換えようとしています。

index.php次の GET を使用して、新しいテンプレートを読み込みます。

localhost/dmk/?req=signin
localhost/dmk/?req=useraccount

これらのリンクを次のように表示したい:

localhost/dmk/signin
localhost/dmk/useraccount

しかし、私の人生では、これを行う方法がわかりません。私が試したことはすべて、500 Internal Server Error を生成するか、まったく効果がありません。

の要点が欠けているに違いありませんRewriteRule

4

2 に答える 2

1

これを試して

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^dmk/(.+)$ dmk/?req=$1 [NC,QSA,L]

/dmk/pageこれにより、既存のファイルまたはディレクトリと競合しないような URL はすべて にリダイレクトされます/dmk/?req=page。あなたindex.php/dmkディレクトリにいると仮定しています。

于 2013-08-24T08:23:33.880 に答える
1

この方向のドキュメントを読む必要があります。ルールを書くのは最初は少しイライラすることはわかっていますが、だんだんと簡単になります。ルールを書くには正規表現を学ぶ必要があります (ここから始めることができます: http://www.regular-expressions.info/ )

必要なルールについては、次のようになります。

RewriteEngine On

RewriteRule ^signin$ index.php?req=signin [L,QSA]
RewriteRule ^useraccount$ index.php?req=useraccount [L,QSA]

また

RewriteRule ^(signin|useraccount)$ index.php?res=$1 [L,QSA]

使用したルールを貼り付けることができます。おそらく、誰かがあなたが間違ったことを説明してくれるでしょう。

于 2013-08-24T08:23:40.743 に答える