.htaccess:漂亮的 URL 和子文件夹

问题描述 投票:0回答:1

除了图像之外,我不使用子文件夹,但不知何故,谷歌找到了子文件夹的链接,这导致了索引错误。示例:

https://example.com/mobile/page
- 移动文件夹不存在。

我的 .htaccess 中有这个:

RewriteRule ^([^/.]+)$ /index.php?page=$1 [L,B]
RewriteCond $1 !(\.(png|ico|css)|index\.php)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php? [L]

请求上述 URL 时,会显示

index.php
,但不获取 css 文件和图像。我猜它是在“mobile”文件夹而不是根文件夹中工作的。

如何向 Google 提供 404 错误并重定向到根文件夹中的

index.php
(供真实用户点击此类链接)?

我不是程序员,我只擅长复制代码:-/我还没有找到解决问题所需的代码。

.htaccess subdirectory friendly-url
1个回答
0
投票

我最终得到了 .htaccess 和 PHP 的混合。如果这可以帮助其他因互联网上不存在的 URL 而在 Google 搜索控制台中遇到很多错误的人:

在 .htaccess 中我有这个:

RewriteCond $1 !(.(png|ico|css)|index.php)$

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ https://example.com/nopage? [大]

这会将不存在的 URL 重定向到“nopage”。在 PHP 中,我捕获“nopage”,并为人类访问者提供一个错误页面,并为 Google 搜索机器人提供 404 标头:

header($_SERVER["SERVER_PROTOCOL"] . " 404 未找到");

我可以从 arkascha 的答案中了解到,我的 .htaccess 代码不会检查文件是否存在,但是,它的工作原理就像一个魅力。

© www.soinside.com 2019 - 2024. All rights reserved.