将 URL 变量传递到 wordpress 页面并使用 .htaccess 对其进行美化

将 URL 变量传递到 wordpress 页面并使用 .htaccess 对其进行美化

我已经将 wordpress 安装在名为欢迎, 和/欢迎/样品是一个“页面”(通过 Wordpress 创建)。它有一个 php 模板,等待 $_REQUEST['category']

当用户访问 /welcome/samples/乐趣,我想将“fun”以 welcome/samples/ 的形式传递给示例 php 模板?类别=乐趣

但我希望 URL 保持其原始形式 - 它目前用丑陋的“?cat ...等”替换它

# Outside the wordpress block so it won't be overwritten
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^samples/([^/]+)$ /welcome/samples?cat=$1 [R,L]

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

# END WordPress

我尝试使用 simply 重写samples?cat=$1,但得到了 404。我尝试在第一个块中放入RewriteBase /welcome/。没有 [R] 标志,它根本不起作用。我不断尝试不同的排列……但都失败了 :(

也许我遗漏了一些基本概念......如果您能花时间阅读本文,我将不胜感激:)

再见

答案1

这似乎对我有用:

RewriteRule ^welcome/samples/([^/]+)$ /welcome/samples?cat=$1

我注意到你正在匹配,^samples…但实际上还没有RewriteBase,所以你需要匹配更多(^welcome/samples…

相关内容