Wordpress和angular2网址路由不起作用

时间:2017-05-18 11:25:39

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

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

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

htaccess文件放在html文件夹下,用于wordpress url重写,另一个htaccess放在app2文件夹下,用于angular2网址。我更新了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>

1 个答案:

答案 0 :(得分:2)

RewriteCond %{REQUEST_URI} "/app/"

该指令不会忽略app文件夹下的网址&#34; - 它执行相反的操作,仅在访问包含/app/的URL(URL中的任何位置)时路由WordPress URL。要排除该子目录,请将指令更改为:

RewriteCond %{REQUEST_URI} !^/app/

要将 start 的网址与/app/匹配(请注意!前缀,否定正则表达式。)

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