如何使用.htaccess将静态重定向到动态URL(在Wordpress网站上)

追踪诱饵

我已经接管了以前的站点/域,并使用Wordpress建立了一个新站点。如您所料,WP安装会将URL重写为静态URL。

同时,我想保留以前的页面,因为它们具有传入链接。我对301将它们转到“新”页面不感兴趣。

旧的URL结构是/index.php?id=123,我怀疑是WP .htaccess文件引起问题。供参考,如下所示:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我尝试添加以下内容:

RewriteRule ^([0-9]+).html index.php?id=$1 [R,L]

不起作用 只需重定向到site.com/?id=123并显示首页。

我应该补充一点,我计划只将这些新页面添加为常规静态HTML文件,格式为123.html,321.html等。

如何使用.htaccess与WP安装配合使用,以及将WP放入.htaccess文件中?

澄清:

我想拥有一个123.html静态HTML页面index.php?id=123当您访问index.php?id=123它时123.html它应该会弹出,但会显示index.php?id=123在地址栏中。如果您访问123.html它,则应为301 index.php?id=123

CD001

要将带有查询字符串的URL映射到实际文件,您需要使用RewriteCond来匹配查询字符串本身(RewriteRule并非如此):

遵循这些思路应该做到这一点:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# retrieve X.html when index.php?id=X is requested
RewriteCond %{REQUEST_FILENAME} index\.php
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteCond %1.html -F
RewriteRule .* %1.html? [L]

# standard WordPress routing
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

这将首先检查,如果你有一个请求的index.php与像查询字符串ID = X

然后它将检查是否确实存在一个名为X.html的文件对于必须使用更多系统饥饿的子请求文件检查-F而不是标准-f,我不是100%满意的,但是在这种情况下,我无法在.htaccess中找到解决方法。

如果X.html实际存在,它会读取该文件而保留网址为的index.php?ID = X

但是,如果该文件不存在,它将退回到标准WordPress no file没有目录路由到index.php

我不是WordPress专家,但是应该可以;我猜主要的WordPress控制器$_SERVER['REQUEST_URI']用来确定操作。


注意:但是,这不会阻止人们通过访问URL www.site.com/123.html直接访问123.html-我一直陷入无限循环和Apache 500错误,试图防止这种情况:|

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用两个参数将动态URL重定向到静态URL htaccess

来自分类Dev

在Drupal网站上使用htaccess将首页重定向到其他页面

来自分类Dev

在Drupal网站上使用htaccess将首页重定向到其他页面

来自分类Dev

如何使用htaccess将动态URL正确重定向到我选择的静态URL?

来自分类Dev

如何.htaccess将文件名重定向为新网站上的url参数?

来自分类Dev

如何使用.htaccess将动态URL重定向到另一个动态URL?

来自分类Dev

使用.htaccess将旧的wordpress网站页面重定向到新的php网站网址

来自分类Dev

批处理301使用htaccess从动态URL重定向到静态页面

来自分类Dev

如何使用.htaccess将URL重定向到新URL?

来自分类Dev

使用.htaccess将网站完全重定向到子域

来自分类Dev

使用htaccess将301动态URL重定向到404错误页面?

来自分类Dev

使用htaccess将http重定向到Wordpress的https?

来自分类Dev

如何将静态URL重定向到Rails资源

来自分类Dev

使用.htaccess将特定的URL重定向到404

来自分类Dev

使用.htaccess将特定的URL重定向到404

来自分类Dev

使用.htaccess将URL重定向到其他域

来自分类Dev

如何在Wordpress中使用htaccess将非www重定向到www

来自分类Dev

如何使用htaccess将URL的特定部分重定向到新URL?

来自分类Dev

如何使用htaccess将URL的特定部分重定向到新URL?

来自分类Dev

WordPress-使用.htaccess重定向将旧的.aspx链接重定向到外部URL

来自分类Dev

使用.htaccess将所有网站链接www重定向到非www并将http重定向到https

来自分类Dev

如何使用.htaccess将所有URL重定向到单个页面

来自分类Dev

301如何使用PHP参数将URL重定向到.htaccess中的根目录DIR?

来自分类Dev

301如何使用PHP参数将URL重定向到.htaccess中的根目录DIR?

来自分类Dev

Nuxt JS 服务器部署 - 如何使用 htaccess 将 URL 重定向到 localhost:3000

来自分类Dev

使用GCP负载平衡器将静态网站重定向HTTP到HTTPS

来自分类Dev

如何使用.htaccess将大写请求重定向到小写

来自分类Dev

如何使用htaccess将非www重定向到www?

来自分类Dev

如何使用htaccess将网址重定向到网址

Related 相关文章

  1. 1

    使用两个参数将动态URL重定向到静态URL htaccess

  2. 2

    在Drupal网站上使用htaccess将首页重定向到其他页面

  3. 3

    在Drupal网站上使用htaccess将首页重定向到其他页面

  4. 4

    如何使用htaccess将动态URL正确重定向到我选择的静态URL?

  5. 5

    如何.htaccess将文件名重定向为新网站上的url参数?

  6. 6

    如何使用.htaccess将动态URL重定向到另一个动态URL?

  7. 7

    使用.htaccess将旧的wordpress网站页面重定向到新的php网站网址

  8. 8

    批处理301使用htaccess从动态URL重定向到静态页面

  9. 9

    如何使用.htaccess将URL重定向到新URL?

  10. 10

    使用.htaccess将网站完全重定向到子域

  11. 11

    使用htaccess将301动态URL重定向到404错误页面?

  12. 12

    使用htaccess将http重定向到Wordpress的https?

  13. 13

    如何将静态URL重定向到Rails资源

  14. 14

    使用.htaccess将特定的URL重定向到404

  15. 15

    使用.htaccess将特定的URL重定向到404

  16. 16

    使用.htaccess将URL重定向到其他域

  17. 17

    如何在Wordpress中使用htaccess将非www重定向到www

  18. 18

    如何使用htaccess将URL的特定部分重定向到新URL?

  19. 19

    如何使用htaccess将URL的特定部分重定向到新URL?

  20. 20

    WordPress-使用.htaccess重定向将旧的.aspx链接重定向到外部URL

  21. 21

    使用.htaccess将所有网站链接www重定向到非www并将http重定向到https

  22. 22

    如何使用.htaccess将所有URL重定向到单个页面

  23. 23

    301如何使用PHP参数将URL重定向到.htaccess中的根目录DIR?

  24. 24

    301如何使用PHP参数将URL重定向到.htaccess中的根目录DIR?

  25. 25

    Nuxt JS 服务器部署 - 如何使用 htaccess 将 URL 重定向到 localhost:3000

  26. 26

    使用GCP负载平衡器将静态网站重定向HTTP到HTTPS

  27. 27

    如何使用.htaccess将大写请求重定向到小写

  28. 28

    如何使用htaccess将非www重定向到www?

  29. 29

    如何使用htaccess将网址重定向到网址

热门标签

归档