Apache .htaccess לאחר הגדרת RewriteEngine On,האתר מופיע 403 אסור

用 ג'ומלה 4 בנה אתר חדש,לאחר הפעלת SEO וכתובת URL Rewrite,בעיה באתר,一開始 Google 到自己的文章 -「לשכתוב כתובות Joomla 404 לא ניתן להציג」,主要是因為沒把 httpd.conf 的 AllowOverride 設為 All 導致但這次設完後,卻變成 403 אסור,且是所有頁面都進不去不管該頁網址有沒有用到 rewrite研究了幾個小時總算找到原因

 

要使用 URL Rewrite有下列設定值需設定

1. אַפָּשׁ – LoadModule rewrite_module
2. אַפָּשׁ – Options FollowSymLinks
3. אַפָּשׁ – AllowOverride All
4. .htaccess – RewriteEngine On

 

  而我的問題在於以上四個都已設定卻出現 403 אסור,其中 2. 跟 3. 我在 httpd.conf 及 httpd-ahssl.conf 皆試過

 

  為了簡化測試環境以釐清問題我將 .htaccess 內容只留下 RewriteEngine On 這行字並將檔案放在 htdocs 根目錄另外製作一個 test.php 檔,הסרט עוקב אחרי,單純顯示 php 環境資訊此檔同樣放在 htdocs 根目錄

<?php
phpinfo();
?>

 

  當瀏覽 http://abc.com/test.php 時同樣出現 403 אסור,而去查詢 Apache 的 error.log 時可以看到這樣的錯誤

האפשרויות FollowSymLinks ו-SymLinksIfOwnerMatch כבויות, כך שההנחיה RewriteRule אסורה גם בגלל יכולתה הדומה לעקוף הגבלות ספריות : ג:/Web/Apache24/htdocs/test.php

 

לכן, ניתן לצמצם את היקף הבעיה לפרמטר FollowSymLinks。לאחר אישור ש-httpd.conf מוגדר כהלכה, עקוב אחר SymLinks,התחלתי לסקור ולהשוות את ההבדלים ב-httpd.conf בין האתרים הישנים לחדשים בזה אחר זה。מאוחר יותר שמתי לב שהאתר החדש מפנה ל-httpd-ahssl.conf למעט בחלק ה-SSL (כלול conf/extra/httpd-ahssl.conf) מחוץ לפרופיל,החלק של FastCGI מתייחס גם ל-httpd-fcgid.conf החיצוני (כלול conf/extra/httpd-fcgid.conf) פּרוֹפִיל,כלומר, ההגדרות של האתר הישן שלי נמצאות כולן ב-httpd.conf,אבל האתר החדש משתמש בשלושה פרופילים(httpd.conf、httpd-ahssl.conf、httpd-fcgid.conf)。איפה httpd.conf ו-httpd-ahssl.conf ניסיתי,אז עיקר הבעיה צריך להיות ב-httpd-fcgid.conf。

 

פתח את httpd-fcgid.conf,ב מצא אפשרויות בתחתית,להגדרה מראש יש רק פרמטר ExecCGI אחד,לאחר הוספת FollowSymLinks,הפעל מחדש את Apache,הבעיה נפתרה לבסוף。

 

[קישור]

3 תגובות

  1. אנונימי אומר |

    האם FortiGate 50E 6.2.10 הכי טוב?

    Yes.

    אנסון תגובה |
  2. אנונימי אומר |

    האם FortiGate 50E 6.2.10 הכי טוב?

    https://it-help.tips/fortigate-firmware-download/

    Help!

השאיר תגובה

שים לב: תגובת התמתנות מופעלת ועלולה לעכב את התגובה שלך. אין צורך להגיש מחדש את התגובה שלך.