0

GET変数を使用して何をすべきかを判断するPHPWebサイトサイトがあります...

例えば/index.php?s=about&p=2

次のようなURLを使用できるように、書き換えルールを使用してこれを変更できるはずです。

/about/2

どうすればその動作を取得できますか?

4

1 に答える 1

1
  1. すべてのリンクをのように変更する必要があります/about/2
  2. 相対リンクを絶対リンクになるように調整するか、これをすべてのページのヘッダーに追加する必要があります。

    <base href="/">
    
  3. これらのルールをドキュメントルートのhtaccessファイルに追加して、見栄えの良いリンクを醜いリンクに戻します。

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/([^/]+)/? /index.php?s=$1&p=$2 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]+)/? /index.php?s=$1 [L]
    
  4. 検索エンジンがページのインデックスを再作成できるように、同じhtaccessファイルにこれを追加して、古い醜いものを見栄えの良いものに301リダイレクトする必要があります。

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?s=([^&]+)&p=([^&]+)
    RewriteRule ^index.php$ /%1/%2 [L,R=301]
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?s=([^&]+)
    RewriteRule ^index.php$ /%1 [L,R=301]
    
于 2012-09-11T14:49:56.730 に答える