正在将/px/?q=x重定向到/px/x/

时间:2016-09-30 作者:Louisa

我们有一个页面,根据查询字符串变量显示产品q.

像这样:

http://example.com/px/?q=ninja-coffee
我们希望显示此类页面的URL,如下所示:

http://example.com/px/ninja-coffee/
到目前为止,我们还不能让它工作,所以你们有什么想法吗?

解决方案可以是.htaccess 或在中functions.php (我们有一个儿童主题)。我们很高兴,只要它起作用,我们显示产品的页面与正常的WordPress搜索无关。它只是一个普通的WordPress页面,根据URL(即后面的内容)更改内容/px/)

1 个回复
最合适的回答,由SO网友:Ethan O\'Sullivan 整理而成

在您的.htaccess<IfModule mod_rewrite.c> 标签:

RewriteCond %{QUERY_STRING} ^q=(.*)$ [NC]
RewriteRule ^/?px/(.*)$ px/%1? [L,R=301]
基于默认值.htaccess 由WordPress生成,现在在自定义RewriteRule:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# Custom Rules
RewriteCond %{QUERY_STRING} ^q=(.*)$ [NC]
RewriteRule ^/?px/(.*)$ px/%1? [L,R=301]
</IfModule>
清除浏览器的缓存和遵循此结构的任何域:

http://example.com/px/?q=SLUG
将重定向到:

http://example.com/px/SLUG
这已在我的终端使用验证和测试htaccess tester.

相关推荐

Redirect Css files to https

在哪里可以找到负责调用Css文件的文件,并测试它们的链接是http还是https?我想测试请求是否为https,如果是,那么很好,如果不是,请将其更改为https在函数中。php我找到了负责调用主题Css的函数,下面是它的代码:if (!function_exists(\'jobcareer_front_scripts\')) { function jobcareer_front_scripts() { global $jobcareer_options;