首页 > 解决方案 > Wordpress htaccess 通过特定请求重写到子文件夹

问题描述

我在 htaccess 中尝试了不同的规则,但我在 stackoverflow 上找到的解决方案不起作用。我的问题:在https://www.example.com/konfigurator下找到具有特定页面的 Wordpress 站点。在此页面上,嵌入式应用程序由 javascript 异步加载。当站点在 /konfigurator 下收到请求时,例如 /konfigurator/jeweler-finder,它需要使用 slug /jeweler-finder 加载应用程序。我尝试了这个 htaccess 代码,结果是 Wordpress 404 页面。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /

# App
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^konfigurator/. /konfigurator/ [L]

#Wordpress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


</IfModule>

非常感谢您对这个问题的任何建议!

标签: wordpress.htaccess

解决方案


我解决了这个问题。解决方案是:我删除了 wordpress 页面“konfigurator”并设置了一个目录“/konfigurator”。该应用程序的代码现在放在 /konfigurator/index.php 文件中。这有效:

# App
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^konfigurator/. /konfigurator/ [L]

#Wordpress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

推荐阅读