【问题标题】:Wordpress htaccess rewrite to subfolder by specific requestsWordpress htaccess 通过特定请求重写到子文件夹
【发布时间】:2021-11-02 16:09:26
【问题描述】:

我在 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 之外?尽管您声明您拥有“一个在 /konfigurator 下找到特定页面的 Wordpress 站点”——所以,这是 WordPress?
  • 该应用程序只是通过 div 中的 javascript 调用加载。 /konfigurator 页面被硬编码为自定义模板页面,没有 wordpress 开销。此页面的调用和应用程序的呈现工作正常。但是应用内的导航需要通过htaccess路由到应用根目录。
  • 好的,如果我们去 example.com/konfigurator/jeweler-finder/ 到 wthat url 我们需要重定向? example.com/?appurl=jeweler-finder ?
  • 到 example.com/konfigurator ... js 应用程序读取 slug /jeweler-finder 并做出反应(异步加载东西)
  • 你如何选择那个蛞蝓?字段,下拉菜单?只使用改变方法?

标签: wordpress .htaccess


【解决方案1】:

我解决了这个问题。解决方案是:我删除了 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]

【讨论】:

  • 感谢您的跟进。 “应用程序的代码放在/konfigurator/index.php 中” - 然后您应该直接重写到该文件,而不是目录(然后需要通过 mod_dir 进行额外的重写)。 IE。 RewriteRule ^konfigurator/. /konfigurator/index.php [L]。 (大概,您还覆盖了 WP 维护 .htaccess 文件的默认行为?更改了 perms 或其他什么?)
  • 虽然该应用程序是第三方应用程序,但在重写 index.php 时会崩溃。这样就可以了,我没有更改任何其他内容
  • Hhhmmm,它不应该“崩溃” - 应该没有任何区别?! (假设您还保留了前面的条件。)
猜你喜欢
  • 2013-12-31
  • 2012-12-08
  • 2012-12-12
  • 2016-03-31
  • 2017-09-08
  • 2012-10-03
  • 2017-03-06
  • 2016-05-19
  • 2014-06-03
相关资源
最近更新 更多