3

自分のサイトに入り、他のサイトを閲覧すると、パラメーター more: etc .php?p=pagename&id=1 を取得します。

.dk 以降はすべて非表示にしたい

私が試してみました:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?p=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?p=$1 [L,QSA]

RewriteRule ^/index.php$ http://www.madsweb.dk/ [R,NC,L]

しかし、うまくいかないようです。

誰でも私を助けることができますか?

4

3 に答える 3

5

RewriteRule ^/index.php$ http://www.madsweb.dk/ [R,NC,L]

書き換えは逆に機能します。ユーザーがアドレスバーに表示するものを書き換えるのではなく、リクエストを別のリクエストに書き換えます (リダイレクトのようですが、サーバー上で透過的に処理されます)。

それが、そこでやろうとしていることができない理由でもあります。

90 年代が好きで使いやすさを気にしない場合は、代わりにフレームを使用できます。

しかし、冗談はさておき、このルールに基づいて構築するのが最善です。これはすでに優れています。

RewriteRule ^([a-zA-Z0-9]+)$ index.php?p=$1 [L,QSA]

追加情報 (idこの場合) をパターンに取得します。例:

RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?p=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9]+)/([0-9]+)$ index.php?p=$1&id=$2 [L,QSA]

またはより一般的 (ただし、パラメータは 1 つだけ):

RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?p=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([0-9]+)$ index.php?p=$1&$2=$3 [L,QSA]
于 2013-03-22T10:47:31.257 に答える
1

.dk 以降はすべて非表示にしたい

不可能だよ。mod_rewrite は、リソースごとに固有の URL を持つ必要性をなくすことはできません。

(そして、それができた場合、ブックマークや検索エンジンを含むリンクが壊れます)。

于 2013-03-22T10:37:25.757 に答える
-4

へーじやって

みる

$pathInfo = 爆発('/', トリム($_SERVER['PATH_INFO'], '/'));
$pagina = $pathInfo[0];
$actie = $pathInfo[1]; RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?p=$1 [L,QSA] RewriteRule ^([a-zA-Z0-9]+)/([0-9] +)$ index.php?p=$1&id=$2 [L,QSA]

またはより一般的 (ただし、パラメータは 1 つだけ):

RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?p=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([0-9]+)$ index.php?p=$1&$2=$3 [L,QSA]

また

list($pagina, $actie) = expand('/', トリム($_SERVER['PATH_INFO'], '/'));

あなたも試すことができます:

オプション +FollowSymLinks RewriteEngine On RewriteRule ^folder1/(.*)$ /Link. com/folder2/$1 [R=301,L]

于 2013-03-22T10:51:03.017 に答える