![](/img/trans.png)
[英]500 Internal Server Error while trying to Rewrite URL in .htaccess
[英]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.