Мне нужно исправить приведенное ниже правило перезаписи, чтобы любой вызываемый URL был направлен на / или index.html, но если URL предназначен для веб-службы (/ ws / controller / function), то я хочу, чтобы он направлялся на / WS / index.php
Для моего углового 2 в HTML у меня есть
<base href="/">
И URL-адрес в формате ххх / ггг / не # / хх / гг
мой .htaccess это
<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>
Он работает нормально, как есть, но когда пользователь перезагружает страницу на любой другой, кроме корня, приложение падает.
Спасибо
Я думаю, что это поможет:
<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>
Других решений пока нет …