apache - 重定向 301 - 为什么要添加问号?

标签 apache .htaccess seo

在 .htaccess 文件中:

Redirect 301 /john-biography.php /about

当我在浏览器中输入 domain.com/john-biography.php 时,它变成:

domain.com/about?/john-biography.php

这是正常现象还是可以采取什么措施来防止这种情况发生?

最佳答案

这种行为通常是由于 mod_alias (Redirect) 和 mod_rewrite 之间的冲突,其中 URL 被重定向到外部,而 URL 已经被 mod_rewrite 在内部重写。

在那种情况下,你不应该使用 mod_alias 而应该只使用 mod_rewrite。因此,只需将您的指令转换为等效的 mod_rewrite 即可:

RewriteRule ^john-biography\.php$ /about [L,R=301]

将此放在您在内部重写的其他规则之前。

关于apache - 重定向 301 - 为什么要添加问号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6565526/

相关文章:

apache - 如何在子域中的反向代理后面运行PrimeFaces?

php - Silex 路由 .htaccess webroot

html - Google 未检测到 hreflang 返回标记

seo - 在谷歌搜索结果中,链接如何显示在结果下方

apache - 在不丢失配置的情况下将 Apache 2.4.6 升级到 2.4.27

javascript - 通过 Apache 和 Tomcat 的 WebSocket 500 错误 : java. lang.UnsupportedOperationException:此协议(protocol)不支持 HTTP 升级

php - 编译后未创建 libphp5.so 且未创建前缀目录

php - 为单个域强制使用 https(复杂的实现)

apache - 将 http 和 https 请求重定向到新主机

magento - SEOmoz 显示 10k+ 爬网错误 - 302 重定向问题,magento 1.6 和 1.7