1

.htaccess ファイルを使用して SEO フレンドリーな書き換えを実装しようとしているサイトがあります

私のサイトには、次のフォルダー構造があります。

- root/
    - corporativo/
        - [more stuff...]
    - social/
        - [more stuff...]
    - index.php
    - corporativo.php
    - social.php

index.php は、サイトのすべての機能とルーティングを処理します。GET 変数 'c​​uerpo' を使用してセクションを決定しています。たとえば、ソーシャル セクションの場合、index.php?cuerpo=social を使用しています。

私が見つけた問題の 1 つは、social dir と social.php を使用すると、名前と書き換え条件が競合することです。

この状況を処理する正しい方法を提案してください。

どうもありがとうございました!よろしくお願いします!

4

2 に答える 2

1

.htaccess ファイルで正しいフラグを使用していることを確認してください。

RewriteCond %{REQUEST_FILENAME} !-f [NC] #Not a file
RewriteCond %{REQUEST_FILENAME} !-d [NC] #Not a dir

編集: Lixは良い点を指摘しています.Unix、Linuxなどを使用している場合は[NC]を使用したくない場合がありますが、たとえばWindowsを使用している場合は[NC]を使用する必要があります

于 2012-12-29T18:23:58.180 に答える
1

ファイルでは、書き換えルールの前に、.htaccess次の 2 つの条件を使用できます。

RewriteCond %{REQUEST_FILENAME} !-f  # Not an actual file
RewriteCond %{REQUEST_FILENAME} !-d  # Not an actual directory

彼らは、要求されたファイル名またはフォルダーが実際に存在しない場合にのみ、次のルールが適用されることを指示しています。これは、ブラウザがリソースをルーティングせずにリソースにアクセスできるようにするために使用されます。

ただし、これがあなたの問題であると100%確信しているわけではありません。でのルーティングに問題がある可能性が高いindex.phpです。

于 2012-12-29T18:24:52.260 に答える