چند وقت پیش یه نرمافزار تک صفحه با انگیولار نوشتم. موقع نصب و تنظیم وب سرور به یک مشکل برخورد کردم. این مشکل به تنظیم هاست مجازی آپاچی برای نرم افزار تک صفحه بر میگشت. نرمافزار از صفحه اول خوب بالا می آمد و کار میکرد اما اگر صفحه رو با مرورگر refresh می کردم خطای ۴۰۴ دریافت میکردم.
شروع مشکل
این مشکل وقتی از ng serve استفاده میکردم تا از هاست خود انگیولار استفاده کنم وجود نداشت. تنها وقتی میخواستم روی سرور به این مشکل رسیدگی کنم و بر بستر آپاچی اجراش کنم به وجود می آمد.
راه حل
مسئله این بود که من از نسخه جدید آپاچی استفاده می کردم، و در نسخه جدید قوانین پیکربندی تغییر کرده است. هاست مجازی (Virtual Host) رو بروزرسانی کردم و بعد از خطایابی به کد زیر رسیدم.
پس برای تنظیم هاست مجازی آپاچی برای نرم افزار تک صفحه خود کد زیر در کانفیگ آپاچی استفاده گردید.
امیدوارم براتون مفید واقع بشه.
منابع
<VirtualHost *:80>
ServerName my.app.com
DirectoryIndex index.html
DocumentRoot /export/www/app
<Directory \"/export/www/app\">
order allow,deny
allow from all
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
</Directory>
</VirtualHost>