2016-11-27 6 views
1

Мне нужно исправить нижеследующее правило повторной записи ниже, чтобы любой URL-адрес получал направленную// index.html, но если URL-адрес для Интернета услуг (/ WS/контроллер/функция), то я хочу, чтобы направить в /ws/index.phpПравило повторной записи для углового 2 приложения и веб-службы на том же сервере

для моего угловой 2 в HTML я есть

<base href="/"> 

И URL является формат ххх/ууу/не #/xx/yy

мой .htaccess is

<ifModule mod_rewrite.c> 
RewriteEngine on 
Options FollowSymLinks 

RewriteBase /ws/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /ws/index.php?url=$1 [L,QSA] 
</ifModule> 

<ifModule mod_rewrite.c> 

RewriteEngine On 
Options FollowSymLinks 

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /#/$1 [L] 

</ifModule> 

Он отлично работает, когда пользователь перезагружает страницу ничем иным, кроме корневого приложения.

Благодаря

+0

Почему у вас есть один URL для веб-сервиса, а другой для вашего приложения? –

+0

Поскольку мое одностраничное веб-приложение и веб-служба размещаются на одном сервере. – Dezza

ответ

2

Я думаю, что это помогло бы:

<ifModule mod_rewrite.c> 

RewriteEngine On 
Options FollowSymLinks 

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !/ws/ 
RewriteRule ^(.*)$ index.html [L,QSA] 

RewriteRule ^(ws/.*)$ ws/index.php?request=$1 [L,QSA] 

</ifModule> 
+0

Отличный материал спасибо – Dezza