Mod rewrite 友好URL不工作-已启用modrewrite。有什么好处?
我正在尝试安装SilverStripe,在安装过程中,它返回一个错误,表示友好链接不起作用。但是,mod_rewrite已启用,AllowOverride设置为All。我在专用服务器上使用CentOS Linux,Webmin作为cp(是的,我知道……不是我的选择)。步骤1。在.htaccess文件中放入一些垃圾,看看web服务器是否给您出了错误。步骤1。在.htaccess文件中放入一些垃圾,然后查看web服务器是否给了您一个错误。这里的要点是,如果服务器正在运行Apache,则要确定SS安装程序生成的.htaccess文件是否正在被读取。如果您仍然有问题,请尝试在SS IRC频道上询问。这里的要点是,如果服务器正在运行Apache,则要确定SS安装程序生成的.htaccess文件是否正在被读取。如果您仍然有问题,请尝试在SS IRC频道上询问。安装程序应该尽可能地进行设置,即使您收到错误消息 这个问题回答起来有点棘手,因为问题可能存在于许多不同的地方,但我已经尝试在下面列出一个故障排除指南 注意:下面的许多链接被故意破坏,因为堆栈溢出认为我可能是垃圾邮件发送者 假设您的站点位于http://www.example.com,请尝试访问http://www.example.com/dev/build-您应该会看到一个标题为“Environment Builder(以前的db/build)”的页面。如果可以,那么重写就没有问题,安装程序错误地向您发送了该消息 如果这提供了404,请尝试http:/www.example.com/sapphire/main.php?url=dev/build-这将访问相同的功能,但绕过mod_重写。如果这给了您标题“Environment Builder(以前的db/build)”,而之前的URL没有,那么您就有mod_rewrite的问题,而不是其他问题Mod rewrite 友好URL不工作-已启用modrewrite。有什么好处?,mod-rewrite,silverstripe,Mod Rewrite,Silverstripe,我正在尝试安装SilverStripe,在安装过程中,它返回一个错误,表示友好链接不起作用。但是,mod_rewrite已启用,AllowOverride设置为All。我在专用服务器上使用CentOS Linux,Webmin作为cp(是的,我知道……不是我的选择)。步骤1。在.htaccess文件中放入一些垃圾,看看web服务器是否给您出了错误。步骤1。在.htaccess文件中放入一些垃圾,然后查看web服务器是否给了您一个错误。这里的要点是,如果服务器正在运行Apache,则要确定SS安装
RewriteBase
行AllowOverride All
设置不起作用。检查是否已将其设置在正确的位置。记住-它需要在Apache配置文件中,而不是.htaccess
中。如果您无法访问相关的配置文件,您可能需要请ISP帮助您回答此问题RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
为此(将重写规则转换为重定向规则):
再次访问http:/www.example.com/dev/build它是否重定向到任何地方?如果没有,那么mod_rewrite就不起作用了。它应该重定向到http:/www.example.com/sapphire/main.php?url=dev/build。它是否正在重定向到其他地方?例如,是否在?url=
参数中插入了额外的垃圾?如果在子目录中运行SilverStripe,有时会发生这种情况。在这种情况下,检查RewriteBase
设置是否设置在该子目录中。类似于RewriteBase/mysubdir
如果你仍然无法让友好的URL正常工作,那么恭喜你——你发现了一个非常糟糕的边缘案例!将按照上述步骤发现的内容的详细信息发布到www.SilverStripe.org上的SilverStripe IRC频道或论坛。即使您收到错误消息,安装程序也应该尽可能地进行设置 这个问题回答起来有点棘手,因为问题可能存在于许多不同的地方,但我已经尝试在下面列出一个故障排除指南 注意:下面的许多链接被故意破坏,因为堆栈溢出认为我可能是垃圾邮件发送者 假设您的站点位于http://www.example.com,请尝试访问http://www.example.com/dev/build-您应该会看到一个标题为“Environment Builder(以前的db/build)”的页面。如果可以,那么重写就没有问题,安装程序错误地向您发送了该消息 如果这提供了404,请尝试http:/www.example.com/sapphire/main.php?url=dev/build-这将访问相同的功能,但绕过mod_重写。如果这给了您标题“Environment Builder(以前的db/build)”,而之前的URL没有,那么您就有mod_rewrite的问题,而不是其他问题
RewriteBase
行AllowOverride All
设置不起作用。检查是否已将其设置在正确的位置。记住-它需要在Apache配置文件中,而不是.htaccess
中。如果您无法访问相关的配置文件,您可能需要请ISP帮助您回答此问题RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
为此(将重写规则转换为重定向规则):
再次访问http:/www.example.com/dev/build它是否重定向到任何地方?如果没有,那么mod_rewrite就不起作用了。它应该重定向到http:/www.example.com/sapphire/main.php?url=dev/build。它是否正在重定向到其他地方?例如,是否在?url=
参数中插入了额外的垃圾?如果在子目录中运行SilverStripe,有时会发生这种情况。在这种情况下,检查RewriteBase
设置是否设置为