1

我有一个网站,我正在尝试使用 .htaccess 文件实现对 SEO 友好的重写

我的网站具有以下文件夹结构:

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

index.php 处理我所有的网站功能和路由。我正在使用 GET 变量 'cuerpo' 来确定部分,例如,对于我使用 index.php?cuerpo=social 的社交部分。

我发现的问题之一是 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文件中,在重写规则之前,可以使用这两个条件 -

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 回答