我希望.htaccess
为特定 URL 创建 URL 重定向。
Redirect /photography/index.php https://www.example.com/photography-services/
但问题是,我需要如下 URL 模式:
https://www.example.com/photography/index.php?view=findphotos
继续工作。
基本上,任何index.php
带有变量的 URL 仍可转到该页面,但任何试图直接访问登录页面的人都会被重定向到新页面。这可能吗?
答案1
是的,这是可能的……
换句话说,您只希望将特定的 URL /photography/index.php
(不带查询字符串)重定向到/photography-services/
。
您需要使用 mod_rewrite 来检查空查询字符串。
.htaccess
在文档根目录中的文件顶部尝试执行以下操作。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^photography/index\.php$ /photography-services/ [R=302,L]
如果您有现有的 mod_alias Redirect
(或RedirectMatch
)指令,那么如果存在冲突,您可能还需要将它们转换为 mod_rewrite。
请注意,以上是 302(临时)重定向。只有在确认其工作正常(以避免缓存问题)后,才可将其更改为 301(永久)——如果这是意图的话。
您需要在测试之前清除浏览器缓存。