我想在htaccess中重定向
https://www.example.com/albumgallery.php?id=8
到https://www.example.com/example-gallery
我试过了:
RewriteCond %{QUERY_STRING} ^id=8$
RewriteRule ^albumgallery.php$ https://www.example.com/example-gallery? [L,R=301]
- 它有效,但在页面上说
未找到未找到请求的URL /示例库 服务器
此外,尝试时遇到404 Not Found错误 使用ErrorDocument来处理请求。
任何想法有什么问题?
答案 0 :(得分:0)
您收到404 not found
错误,因为您的服务器上不存在www.example.com/example-gallery
。您需要将此网址重写为现有网址。例如,当你键入
https://www.example.com/albumgallery.php?id=8
在您的浏览器中,您的规则将重定向至 https://www.example.com/example-gallery ,因为此新网址不存在,因此您的服务器会返回404错误状态。您需要在htaccess中添加一个内部RewriteRule来处理新的URL。
将以下内容放在现有规则下面
RewriteRule ^example-gallery/?$ /albumgallery.php?id=8&loop=no [L]
我在规则目的地添加了一个额外的参数loop=no
,以防止无限循环错误,以便规则不会与您现有的RewriteRule冲突。