0

在我的 htaccess 中,我有以下代码:

RewriteRule ^([a-zA-Z0-9_-]+)$ category.php?parent=$1

该代码非常适合我想要的东西,并为类别制作漂亮的 url,我相信你们都知道。

我遇到的唯一问题是我在服务器上创建了一个名为“about”的文件夹。在 about 文件夹中,我有一个要显示的 index.html 文件。如果您尝试访问 site.com/about/ 上的 url,则会显示该页面并且该 url 保持完全相同。

但是,如果有人访问 site.com/about 上的 url,那么他们会自动重定向到 site.com/about/?parent=about。有人会在这个 url 上访问它,然后谷歌可能最终会索引它并导致重复页面。

我知道这是由于 htaccess,但我不明白为什么会这样,我将如何修复它?

谢谢你。

4

1 回答 1

1

.htaccess 中的正则表达式不会捕获尾随/,而是仅由字符组成。about/abouta-z

在你的规则之前添加这个:

RewriteCond %{REQUEST_URI} !^/about/?$

并且您的关于 URL 不会被重写。

无论如何,考虑使用更安全的 URL 方案,例如/category/somename:如果用户想要创建一个名为“about”的类别怎么办?

更多关于这里的条件

于 2013-05-08T23:36:27.103 回答