我有這個.htaccess文件:的.htaccess帶來500內部服務器錯誤
RewriteEngine On
RewriteBase/
RewriteRule ^/(.*)/(.*)/(.*)$ index.php?pageLevel1=$1&pageLevel2=$2&pageLevel3=$3 [L,R=301]
,當我嘗試訪問該網頁它給了我「500內部服務器錯誤」。
我在做什麼錯?
我有這個.htaccess文件:的.htaccess帶來500內部服務器錯誤
RewriteEngine On
RewriteBase/
RewriteRule ^/(.*)/(.*)/(.*)$ index.php?pageLevel1=$1&pageLevel2=$2&pageLevel3=$3 [L,R=301]
,當我嘗試訪問該網頁它給了我「500內部服務器錯誤」。
我在做什麼錯?
它適用於我 - 檢查你是否有mod_rewrite
啓用像@Panama傑克建議。
a2query -m rewrite
如果不說啓用,啓用它:
a2enmod rewrite
service apache2 restart
而且你可能想刪除規則中第一個斜槓,如果你的基礎是/
,所以就變成:
RewriteRule ^(.*)/(.*)/(.*)$ index.php?pageLevel1=$1&pageLevel2=$2&pageLevel3=$3 [L,R=301]
我假設你正在嘗試將流量引導到網址的index.php?pageLevel1 = $ 1 & pageLevel2 = $ 16 & pageLevel3 = $ 3
顯示500錯誤是因爲它無法理解規則^ /(。 )/()/(。*)$
請參考下面的指導,
https://www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/
OP已經解決了這個問題:http://stackoverflow.com/questions/33493187/htaccess-brings-500-internal-server-error#comment54770673_33493187 – hjpotter92
你可能沒有啓用mod_rewrite的。你需要檢查你的日誌。但是,如果它沒有啓用它不知道什麼是RewriteEngine,並會得到500錯誤 –
你是**正確的**。該模塊未被激活。謝謝 –