0

サイト上の用語の定義を表示する Web サイト用の用語集を作成しています。

私はすべてが働いています。しかし、URI セグメント 3 にアルファベット以外の文字が含まれている場合は、404を表示したいと思います。

現在、用語集の URL は次のようになっています。

www.mydomain.com/tools/glossary/a
www.mydomain.com/tools/glossary/b
www.mydomain.com/tools/glossary/c
...

ユーザーがアルファベット以外の文字列を入力した場合に 404 を表示したい:

www.mydomain.com/tools/glossary/tree

私の用語集機能では、次を追加しました。

        if($this->uri->segment(3)) {
            if($this->uri->segment(3) !== 'a' || 'b' || 'c' .... 'z') {
                show_404();
            }
        }

上記のコードを機能させるにはどうすればよいですか??

3 番目の uri セグメントが a と z の間の文字と等しくない場合は 404 を表示します??

4

3 に答える 3

4

これを試すことができます(controller tools.php)

  function glossary($letter)  
  {
   if(!preg_match('/^[a-z]$/',$letter))
    {
       show_404();
    }
    else
    {
      echo 'match';
      //do something with $letter
    }
   }

テスト:

a  'match'
b  'match'
ab  404
1   404
于 2011-12-06T13:15:26.737 に答える
0

「ルーティング」を使用してこれを処理できます

また、404 の代わりに 301 リダイレクトを検討すると、SEO に役立つ可能性があります。

HTH。

于 2011-12-06T13:15:58.223 に答える
0

|| 私は PHP を使用していませんが、使用していません。OR演算子?そこには AND 演算子が必要です。

于 2011-12-06T13:21:08.303 に答える