我对制作漂亮的网址链接有一些疑问。
在我的网站主页上,我有一个文本(城市和州)的下拉列表,它将成为我的参数。我通过 GET METHOD将值发送到WordPress模板页面,系统将根据传递的值显示内容。显示内容部分正在成功运行,但是,我对链接有一些疑问。
现在,页面的链接正在显示
www.mydomain.com/list/?state=NY&city=Newyork或 www.mydomain.com/list/?state=IL&city=Chicago
我更喜欢链接为以下漂亮的格式,... www.mydomain /列表/ NY /纽约 www.mydomain /列表/ IL /芝加哥
我在很多网站上进行了研究,并找到了使用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]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([0-9]+)/?$ ?district=$1
RewriteRule ([0-9]+)/([^/]+)/?$ ?district=$1&templename=$2 [L]
</IfModule>
# END WordPress
答案 0 :(得分:0)
您要寻找的内容应该使用wordpress&#39; add_rewrite_rule
功能。您可以阅读更多相关信息here
以下是您可能正在寻找的样本:
<?php
add_rewrite_rule('list/([0-9|a-z|A-Z]*)?/?([0-9|a-z|A-Z]*)?/?([0-9|a-z|A-Z]*)?/?([0-9|a-z|A-Z]*)?','index.php?$matches[1]=$matches[2]&$matches[3]=$matches[4]','top');
?>
详细解释:
www.mydomain.com/list/state/IL/city/Chicago
对齐,在代码中将转换为www.mydomain.com/list/?state=IL&city=Chicago
,以便您使用$ _GET参数top
告诉Wordpress这些规则优先超过wordpress&#39;自己的规则。您可能需要致电flush_rewrite_rules( false )
或$wp_rewrite->flush_rules()
来清除规则并使更改生效