簡體   English   中英

Htaccess重寫URL提供500內部服務器錯誤

[英]Htaccess rewrite url gives 500 Internal server error

我正在使用以下代碼獲取500 Error內部:

RewriteEngine On
RewriteRule ^([^/]*)$ /get.php?action=$1 [L]

重寫模塊處於活動狀態,安全模式關閉且沒有問題,

我測試了這段代碼:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

但沒有改變。

現在做什么 ?

它在我看來問題是你沒有設置任何限制,所以它循環你的重定向。

這是一個自文件get.php存在以來會停止的示例。

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ /get.php?action=$1 [L]

為了進一步說明,會發生什么在你的例子是,它重定向到get.php一遍又一遍又一遍,因為你的規則告訴任何東西不是一個/從內部重定向但不能停止,如果一個文件退出,並且自get.php也下降在你的正則表達式下,它會再次重定向。

我添加的兩個條件是,它告訴它停止文件或文件夾是否存在。

如果您使用的是HTTPD版本2.4+,您可以使用標志[END]進行簡單的使用,如下所示:

RewriteRule ^([^/]*)$ /get.php?action=$1 [END]

這告訴服務器停止任何進一步的重定向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM