繁体   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