Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 更改文件名后的htaccess 301重定向_.htaccess_Mod Rewrite_Http Status Code 301 - Fatal编程技术网

.htaccess 更改文件名后的htaccess 301重定向

.htaccess 更改文件名后的htaccess 301重定向,.htaccess,mod-rewrite,http-status-code-301,.htaccess,Mod Rewrite,Http Status Code 301,我使用这种重写: RewriteRule post-(.*)\.html$ post.php?id=$1 但后来将文件名post.php改为photo.php,所以我将其改为 RewriteRule photo-(.*)\.html$ photo.php?id=$1 这很好,但当访问者来自搜索引擎并被引导到原始文件名post.php?id=?时,我的日志中出现了错误?因此,需要添加(我认为)301重定向,我已尝试: RewriteRule photo-(.*)\.html$ post.php

我使用这种重写:

RewriteRule post-(.*)\.html$ post.php?id=$1
但后来将文件名post.php改为photo.php,所以我将其改为

RewriteRule photo-(.*)\.html$ photo.php?id=$1
这很好,但当访问者来自搜索引擎并被引导到原始文件名post.php?id=?时,我的日志中出现了错误?因此,需要添加(我认为)301重定向,我已尝试:

RewriteRule photo-(.*)\.html$ post.php?id=$1
以及:


但是这两种方法都不起作用,老实说,都没有真正的线索,请帮忙。

我想你希望它是另一种方式。当人们转到您的旧URL(
post.php?id=
)时,重定向到新的URL。您可以选择以下选项之一:

RewriteRule post-(.*)\.html$ photo-$1.html [R=301]

RewriteRule post\.php$ photo.php [R=301]

第一个采用类似的URL,并将浏览器重定向到,以便您的规则可以将其重写为photo.php,第二个则执行相同的操作,除了to(注意,查询字符串会自动附加到第二个规则的末尾)。

我想您希望它是另一种方式。当人们转到您的旧URL(
post.php?id=
)时,重定向到新的URL。您可以选择以下选项之一:

RewriteRule post-(.*)\.html$ photo-$1.html [R=301]

RewriteRule post\.php$ photo.php [R=301]
第一个采用类似URL的URL并将浏览器重定向到,以便您的规则可以将其重写为photo.php,第二个采用相同的方法,除了to(请注意,查询字符串会自动附加到第二个规则的末尾)。

谢谢您标记为答案-“投票需要15信誉”所以现在不能投票对不起。谢谢你标记为答案——“投票需要15个声望”,所以现在不能投票对不起。