از کد زیر برای باز شدن سایت در پوشه public_html استفاده می کنم :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
سایت به خوبی باز میشه ولی مشکل اینجاست که این دو تا آدرس قابل دسترسی هستند
http://domain.com
http://domain.com/public
در صورتی که نباید این طور باشه ، ممنون میشم راهنمایی کنید
برای جلوگیری از دسترسی به آدرسهای http://domain.com و http://domain.com/public و تنها اجازه دادن به دسترسی به محتوای موجود در پوشه public_html، میتوانید از تنظیمات .htaccess استفاده کنید. در اینجا یک روش برای انجام این کار ارائه میشود:
.htaccessفایل .htaccess خود را به شکل زیر ویرایش کنید:
<IfModule mod_rewrite.c>
RewriteEngine on
# جلوگیری از دسترسی به پوشه public
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(public)/ [NC]
RewriteRule ^ - [F,L]
# اگر آدرس درخواست شده به public اشاره نکند، به پوشه public هدایت کن
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
جلوگیری از دسترسی به پوشه public:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(public)/ [NC]، هر درخواستی که به پوشه public اشاره کند، مسدود میشود. RewriteRule ^ - [F,L] به این معناست که اگر شرط بالا درست باشد، درخواست را مسدود کرده و خطای 403 (Forbidden) برمیگرداند.هدایت درخواستها به پوشه public:
RewriteCond %{REQUEST_URI} !^/public/ بررسی میکند که آیا درخواست به پوشه public اشاره نمیکند.public هدایت میشود.بعد از اعمال تغییرات، فایل .htaccess را ذخیره کرده و دوباره به سایت خود مراجعه کنید:
http://domain.com باید به درستی به محتوای موجود در پوشه public_html هدایت شود.http://domain.com/public باید به خطای 403 (Forbidden) منتهی شود.اگر هنوز با خطا مواجه هستید، مطمئن شوید که ماژول mod_rewrite در سرور شما فعال است. همچنین، بررسی کنید که فایل .htaccess مجوزهای لازم را دارد و سرور به آن دسترسی دارد.
درود
دوست من بنظرم اگه یکم بیشتر توضیح بدی ممنون میشم. یعنی نمیخوای که صفحه اول سایت بالا بیاد؟
ببینید صفحات زیر رو داریم که به صورت یک روت معمولی در لاراول تنظیم شدند :
http://domain.com
http://domain.com/blog
http://domain.com/about-us
http://domain.com/contact-us
این صفحات به درستی باز میشن. مشکل اینجاست که با آدرس های زیر هم همین محتوا باز میشن :
http://domain.com/public/blog
http://domain.com/public/about-us
http://domain.com/public/contact-us
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟