我試圖重寫我的URL和一些正在工作,但另一個(這是一個額外的目錄級別深)產生500內部服務器錯誤。我不知道爲什麼會發生這種情況,並且由於各種原因無法啓用日誌記錄。Apache2 RewriteRule 500內部服務器錯誤
我的.htaccess文件看起來是這樣的:
Options +FollowSymLinks
RewriteEngine On
# Rewrite account/order.php
RewriteRule ^account/order/([a-z0-9]+)/.+$ /account/order.php?order_id=$1 [L]
# Rewrite advertiser.php
RewriteRule ^advertiser/([a-z0-9]+)/.+$ /advertiser.php?advertiser_id=$1 [L]
# Remove .php from URL
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
的重寫規則advertiser.php可能看起來像這樣的網址:http://domain.com/advertiser/1234
這一切正常。
但是,我對account/order.php的重寫規則沒有。它會產生500錯誤。該URL可能如下所示:http://domain.com/account/order/1234
我可以看到的唯一區別是重寫規則中有另一個工作目錄。我錯過了什麼可能會導致此錯誤?
謝謝!
嘗試改變該兩個規則:重寫規則^帳戶/順序/([A-Z0-9] +)/.+$ /account/order.php?order_id=$1 [R ,L] RewriteRule^account/order /([a-z0-9] +)/.+$ /account/order.php?order_id=$1 [R,L] – martinezjc