首页 > 解决方案 > 需要在 .htaccess 文件中重定向 301 一个 URL,但它添加了额外的 http//?

问题描述

我正在尝试将 /abc.html 重定向到 /abc.php但是当我这样做时,它会提供一个额外的 http//并且页面无法像http//www.example.de/abc.php那样工作不知道从哪里来HTTP 来了。

注意:网站没有 ssl,所以域名是http://example.de

我的 .htaccess 文件

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ http://example.de/$1 [R=301,L]
RedirectPermanent /tour.html /tour.php

标签: apache.htaccessmod-rewriteurl-rewritingfriendly-url

解决方案


使用您显示的示例/尝试,您能否尝试以下操作。请确保在测试您的 URL 之前清除您的浏览器缓存。

RewriteEngine ON
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [NE,R=301,L]

##To serve home page link.
RewriteRule ^/?$ index.php [L]

RewriteCond %{REQUEST_URI} !^/?$
RewriteRule ^([^.]*)\.html/?$ $1.php [NC,L]

推荐阅读