为什么此 RewriteRule 会导致内部服务器错误?

为什么此 RewriteRule 会导致内部服务器错误?

我在本地这样调用我的网站:

http://localhost:80/mysite/de/layer1/layer2/module

在 .htaccess 中我有:

RewriteEngine on

RewriteRule !^((css|js|images)/.*)$ index.php%{REQUEST_URI} [L, NE]

我尝试将其重写为:

http://localhost:80/mysite/index.php/de/layer1/layer2/module

知道那里出了什么问题吗?

答案1

我首先看到的是路径应该是 mysite/index.php

可能还必须从正则表达式中删除 \mysite\,因为现在您的 REQUEST_URI 将包含 mysite\xxxxx

您可能应该使用重写条件来跳过 css、图像等,然后像这样重写

RewriteRule (.*) /mysite/index.php/$1

答案2

如果您的服务器向您抛出错误,您应该查看服务器日志以了解原因。您还可以启用 RewriteRule 处理的日志记录,请参阅文档

相关内容