WordPress如何重写自定义页面的URL

时间:2018-05-31 作者:karsh

我已经在主目录中创建了测试文件夹,其中包含文件Test。phphttps://example.com/test/test.php?id=123&z=dnfjk 重写后,我想创建https://example.com/test/test/123/dnfjk

我使用了以下代码htaccess文件

RewriteEngine on
RewriteRule ^(.*).html$ https://example.com/$1 [R=301,L]
RewriteRule ^(.*).htm$  https://example.com/$1 [R=301,L]
RewriteRule ^(.*).php$  https://example.com//$1 [R=301,L]
但显示404错误

1 个回复
SO网友:MrWhite

假设这完全超出了WordPress的范围,那么。。。重写/test/test/123/dnfjk/test/test.php?id=123&z=dnfjk, 然后您可以在/test/.htaccess 文件(不是WordPress.htaccess 文档根目录中的文件):

Options -MultiViews

RewriteEngine On
RewriteRule ^test/(\\d+)/([a-z]+)$ test.php?id=$1&z=$2 [L]
需要禁用多视图才能工作。

RewriteRule ^(.*).html$ https://example.com/$1 [R=301,L]
RewriteRule ^(.*).htm$  https://example.com/$1 [R=301,L]
RewriteRule ^(.*).php$  https://example.com//$1 [R=301,L]
这些是外部重定向(与内部重写相反),似乎与您的示例完全无关?

请注意,更改应用程序中的URL时,不会发出重定向来执行此操作。只有在旧URL(带有URL参数)已经被第三方索引和/或链接到的情况下,才需要重定向。

结束

相关推荐

MULTSITE:通过.htAccess使用生产映像进行本地开发

我从事多站点WordPress安装(请参见-https://codex.wordpress.org/Create_A_Network), 我不想下载所有远程生产映像来测试本地环境中的站点。以下内容。htaccess to rewrite示例允许直接从实时WordPress站点提取图像:RewriteCond %{REQUEST_URI} ^/wp-content/uploads/[^\\/]*/.*$ RewriteRule ^(.*)$ http://example.com/$1 [QSA,L]