我正在为网站使用wordpress,我添加了一个使用查询字符串的额外php页面。
我目前的网址是site.com/page/ ?query = stuff
我希望它是site.com/page/stuff
我理解如何为普通的php项目处理.htaccess ReWrite规则,但是我很难解决wordpresses .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
提前感谢您的帮助。
答案 0 :(得分:1)
所以在任何Wordpress安装中我都使用它自动识别/搜索/查询+术语与?s =查询+术语相同,所以你真的只需要将用户重定向到更多的SEO版本,在这种情况下你只需要做以下事情:
在RewriteBase /
下方添加以下内容:
RewriteCond %{QUERY_STRING} s=(.*)
RewriteRule ^$ /search/%1? [L,R=301]
所以你的最终文件将如下所示:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} s=(.*)
RewriteRule ^$ /search/%1? [L,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
希望这有帮助!如果您的Wordpress安装没有识别/搜索/查询+条款作为搜索,那么请告诉我,我会看看我是否可以帮助您!您可以在尝试之前手动转到网址进行测试,例如:example.com/search/hello+world