![](/img/trans.png)
[英].htaccess not working and gives me a “500 internal server error” warning
[英]why .htaccess is showing me “Internal Server Error”?
在我的網站上,我使用.htaccess
規則從網址中刪除了.php
擴展名。 這樣我可以轉到沒有.php擴展名的任何頁面。 例如:
http://localhost/aponit/dev/zones (there are no .php extension)
現在,我在php頁面中有一個鏈接來更新表單數據。 鏈接如下:
<a class="btn btn-success btn-xs" href="<?php echo SITE_URL."update/$zone_id"?>" >Edit</a>
此鏈接顯示以下網址:
http://localhost/aponit/dev/update/54
但不幸的是,它向我顯示錯誤消息:
內部服務器錯誤
我正在使用以下.htaccess規則:
ErrorDocument 404 /not-found.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
RewriteRule ^update/([0-9]+) update?z=$1 [L]
嘗試去:
ErrorDocument 404 /not-found.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
並發布詳細日志文件???
如果站點不在根域下運行,則yuo提供的.htaccess代碼將無法正常運行。 例如
RewriteRule ^update/([0-9]+) update?z=$1 [L]
此代碼塊告訴服務器,任何以數字開頭的以“ update”開頭的URI都將被重寫。 但是在您的情況下,URI始終以“ aponit / dev /”開頭。 因此此代碼將無法正常工作。
解
設置虛擬主機。 您將在線獲得許多可用的教程,該教程如何基於服務器軟件(XAMPP / WAMP等)來設置虛擬主機。
如果您只想從網址中刪除.php,請在.htaccess中使用以下代碼:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.