Условная перезапись URL - PullRequest
0 голосов
/ 27 апреля 2018

Мне нужен URL example.com/app, чтобы показать содержимое с example.com/app/dist

Следующий код делает именно это.

RewriteEngine On
RewriteRule ^$ /app/dist/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/dist/
RewriteRule ^(.*)$ /app/dist/$1

НО мне также нужен URL example.com/staging, чтобы показать содержимое с example.com/staging/dist

При текущей настройке URL example.com/staging показывает содержимое с example.com/app/dist

.htaccess while находится в папке /app и /staging (но это должен быть один и тот же файл)

1 Ответ

0 голосов
/ 27 апреля 2018

В файле htaccess в вашей промежуточной папке измените все экземпляры с app на staging

Edit: Вы можете попробовать использовать относительные пути вместо жесткого кодирования приложения или постановки, но у меня были проблемы в прошлом, особенно если есть другие правила в игре.

RewriteEngine On 

RewriteRule ^dist -  [NC,L] 

RewriteRule ^$ dist/ [L]

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

Идея состоит в том, чтобы удалить ведущие / из перезаписей, чтобы использовать относительный путь. Технически это не имеет значения, в какой папке находится файл htaccess

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...