针对特定 URL 进行 URL 重定向

针对特定 URL 进行 URL 重定向

我希望.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(永久)——如果这是意图的话。

您需要在测试之前清除浏览器缓存。

相关内容