我正在开发一个与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>
答案 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指令)。