سلام و خدا قوت
یک پروژه Next نوشتم و روی هاست قرار دادم. الان اگر در مسیری غیر از / باشم، با رفرش صفحه خطای 404 میده. توی لوکال مشکلی نداره. خیلی سرچ کردم. فایل web.config هم ست کرم ولی باز هم درست نشد. این هم محتویات فایل next.config.mjs isj:
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'export',
distDir: 'dist',
};
export default nextConfig;
میشه لطفا راهنمایی کنید.
سلام دوست من
این راهکار رو تست کن از این لینک
به next.config اضافه کن ببین مشکلت برطرف میشه ؟
اگر نشد بگو راهکارهای دیگری رو تست کنیم
ممنونم استاد. این راهکار رو قبلا تست کرده بودم. جواب نداده. انگار وقتی رفرش میشه نمیتونه مسیر رو پیدا کنه. سعی کردم با web.config حلش کنم ولی بازم نشد. این مشکل رو توی vue داشتم قبلا که با web.config حل شد ولی اینجا نمیشه.
راهکار دیگهای داره به نظرتون؟
وقتی میگی web.config یعنی از ISS استفاده میکنی درسته ؟
این تنظیمات رو برای web.config تست کردی ؟
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Handle History Mode and custom 404/500" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
آره از IIS استفاده میکنم. مشکل حل شد استاد. ایراد از این بود که مسیرهایی که مثلا بصورت
./requests
هست رو متوجه نمیشه در حالت آنلاین و حتما باید مسیر رو کامل بهش بدم. بصورت زیر باید باشه:
/panel/requests
دلیل خاصی داره؟ یا باید چیزی رو تنظیم کنم؟
با ISS زیاد آشنایی ندارم ولی اکثر وب سرور ها آدرس کامل رو میخوان
برای مثال پروژه رو آنلاین میکنی میبینی که فایل css ها load نمیشن و در لوکال به درستی کار میکنه ولی وقتی آنلاینش میکنی نمایش داده نمیشه
برای درست کردنش فقط کافیه یک (/) قبل آدرس دهی فایل css اضافه کنی تا وب سرور بتونه بفهمه
اینجور مسائل پیش میاد حالا چون آشنایی زیادی با ISS ندارم نمیدونم که آیا نیاز به پیکربندی خاصی داره یا نه به صورت پیش فرض اینگونه هست
ممنونم استاد از وقتی که گذاشتین