繁体   English   中英

WordPress重写URL返回404找不到

[英]WordPress rewrite URL returning 404 Not Found

我正在尝试重定向此网址:

myurl.com/track/124

对此:

myurl.com/wp-content/themes/themefolder/track.php?id=124

参数值124可以是任何值。 我已经修改了服务器根目录上的.htaccess文件,因此现在它具有以下内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^track/?$ wp-content/themes/themefolder/track.php?id=$1 [QSA,R,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

但是,当我访问myurl.com/track/124时,返回了404 Not Found。 谁能发现问题并帮助我解决此问题?

  • 另一个问题:有没有办法确保URL不显示wp-content / themes / themefolder / track.php?id = 124并保持为track / 124

谢谢

我认为你需要改变

RewriteRule ^track/?$ wp-content/themes/themefolder/track.php?id=$1 [QSA,R,L]

RewriteRule ^track/(\d+) wp-content/themes/themefolder/track.php?id=$1 [QSA,R,L]

尝试使用Wordpress的内置函数add_rewrite_rule

add_filter('init','my_rewrite_rules');
function my_rewrite_rules(){
     add_rewrite_rule('^track/([^/]*)/?','wp-content/themes/themefolder/track.php?id=$matches[1]','top');
}

然后,您将需要在设置(仪表板->设置->永久链接->保存更改)中访问永久链接页面,以使添加的规则生效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM