Rou*_*der 3 php wordpress .htaccess rewrite query-string
对于一个新网站,我有一个非常好的(迄今为止)wordpress的设置.漂亮的网址按预期工作.
我有一个动态页面,根据查询字符串加载内容:
/dynamic/?loc=england&code=uk
Run Code Online (Sandbox Code Playgroud)
我希望这个URL"漂亮",但每次我修改.htaccess都没有做出任何更改.尝试了一切,谷歌搜索其他一切 - 最后的手段.如果我能得到以下工作,那么我会很高兴.
我需要让URL看起来像.
/dynamic/location/england/code/uk/
Run Code Online (Sandbox Code Playgroud)
将此添加到任何.htaccess会破坏整个网站.
RewriteRule /dynamic/(.*)/(.*)/(.*)/(.*)/$ /dynamic?$1=$2&$3=$4
Run Code Online (Sandbox Code Playgroud)
我错过了什么.
提前致谢
ñ
EAM*_*ann 11
不要将重写规则添加到您的.htaccess文件中.WordPress为您管理该文件,因此尽可能使用内置功能.
WordPress实际上有一个标准的高级重写引擎 - 它可以像平台的其他部分一样可插拔.
但是,诀窍是与它合作.您需要注册RegEx,以便WordPress知道要匹配的字符串类型(即dynamic/location/(.*)/code/(.*)=> /dynamic?$loc=$1&code=$2).然后,您需要在后端设置页面和脚本来处理提交.
对于类似的示例,请查看我收到的解答,以解析WordPress Answers上自定义帖子类型的自定义URL .扩展这个,您需要设置类似于以下的代码(注意:未经测试!!!):
<?php
add_action('init', 'add_my_rewrite');
function add_my_rewrite() {
global $wp_rewrite;
$wp_rewrite->add_rule('location/([^/]+)/code/([^/]+)','index.php?loc=$matches[1]&code=$matches[2]','top');
$wp_rewrite->flush_rules(false); // This should really be done in a plugin activation
}
Run Code Online (Sandbox Code Playgroud)
这应该.htaccess自动将重写结构添加到您的文件中.
| 归档时间: |
|
| 查看次数: |
4841 次 |
| 最近记录: |