2017-05-18 74 views
2

我正在與wordpress站點一起放置的angular2應用程序。以下是目錄結構:Wordpress和angular2 url路徑不起作用

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

htaccess文件是HTML文件夾下放置WordPress的URL重寫,另一個是htaccess的app文件夾下放置angular2網址。我已經更新了WordPress的htaccess文件,以忽略應用程序文件夾下的網址,但現在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> 

回答

2
RewriteCond %{REQUEST_URI} "/app/" 

該指令不「忽略app文件夾中的網址」 - 訪問某個網址時,則正好相反,只有路線WordPress的網址包含/app/(URL中的任何位置)。爲了排除該子目錄,該指令更改爲:

RewriteCond %{REQUEST_URI} !^/app/ 

要匹配不起始網址/app/(注意!前綴,即否定了正則表達式)。

但是,如果您在包含mod_rewrite指令的/app子目錄中已經有.htaccess文件,那麼您不應該這樣做。子目錄中的mod_rewrite指令將完全覆蓋父級.htaccess文件中的mod_rewrite指令(因爲默認情況下mod_rewrite指令不會被繼承)。

+1

感謝它的工作。 –