我在本地用“ben.scbw.zec.dev”vhost运行wordpress。
我创建了页面模板以显示特定的事件详细信息。
http://ben.scbw.zec.dev/event-view?view_event=14
我可以使用上面的网址访问页面“event-view”是页面上的slug和页面id = 439。
现在,我希望使用以下网址访问它。
http://ben.scbw.zec.dev/event-view/this-is-test-event/14/
“这是测试事件”它的事件标题任何文本,我已设法创建URl。
以下是我的.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
以上是标准wordpress crated代码,我添加了以下代码。
RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^event-view/([^/]*)/([^/]*)/$ ./index.php?page_id=439&titel=$1&view_event=$2 [L]
这里439是我提到的“偶数视图”的页面ID。
但是,我无法使用“http://ben.scbw.zec.dev/event-view/this-is-test-event/14/”网址访问该网页。它显示我404未找到错误。 我已经尝试了4-5天,但无法找到解决方案。
如果有人能帮助我,我真的非常感谢。
答案 0 :(得分:0)
首先,wordpress使用内部RewriteRules映射URL。 因此,您不必在htaccess中添加其他RewriteRule标签。 您必须注册查询参数,并将重写规则添加到内部wordpress重写引擎中。
@see https://developer.wordpress.org/reference/classes/wp/add_query_var/ @see https://developer.wordpress.org/reference/classes/wp_rewrite/