【问题标题】:Wordpress and angular2 url routes not workingWordpress 和 angular2 url 路由不起作用
【发布时间】:2017-10-18 04:35:33
【问题描述】:

我正在开发一个与 wordpress 网站一起放置的 angular2 应用程序。以下是目录结构:

/var/www/html
 app/ (angular2 app is placed under this folder)
 wp-includes/
 wp-content/
 ...

htaccess 文件放置在 html 文件夹下用于 wordpress url 重写,另一个 htaccess 放置在 app 文件夹下用于 angular2 url。我已经更新了 wordpress 的 htaccess 文件以忽略 app 文件夹下的 url,但现在 wordpress 的 url 不起作用并且 apache 404 即将到来。以下是我的 wordpress 的 htaccess 文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} "/app/"
RewriteRule . index.php [L]
</IfModule>

【问题讨论】:

    标签: wordpress .htaccess angular mod-rewrite url-rewriting


    【解决方案1】:
    RewriteCond %{REQUEST_URI} "/app/"
    

    该指令不会“忽略 app 文件夹下的 url”——它会做相反的事情,并且仅在访问包含 /app/(在 URL 中的任何位置)的 URL 时路由 WordPress URL。要排除该子目录,请将指令更改为:

    RewriteCond %{REQUEST_URI} !^/app/
    

    匹配不以/app/ 开始 的网址(注意! 前缀,它否定了正则表达式)。

    但是,如果您在 /app 子目录中已经有一个包含 mod_rewrite 指令的 .htaccess 文件,那么您不必这样做。子目录中的 mod_rewrite 指令将完全覆盖父 .htaccess 文件中的 mod_rewrite 指令(因为默认情况下不继承 mod_rewrite 指令)。

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 2016-07-28
      • 2016-07-11
      • 2017-03-25
      • 2018-01-12
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      相关资源
      最近更新 更多