我在httpdocs文件夹中的Plesk服务器上传了我的Laravel项目的文件,并更改了必要的权限。现在我的主页工作正常但其他路线显示404服务器错误(请参见屏幕截图[)
为了检查不同论坛和stackoverflow中的几个解决方案,我还试图在我的.htaccess文件中进行更改但却无法解决。 目前我正在使用以下代码hor .htaccess文件,该文件在我的localhost上工作正常
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
如果您找到任何解决方案,请告诉我
答案 0 :(得分:2)
由于您使用的是IIS,因此.htaccess不会涉及重定向以打开除主页之外的任何子页面。相反,应在domain的web.config文件中指定重定向,例如:
<configuration>
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="index.php" />
<add value="default.aspx" />
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="index.html" />
</files>
</defaultDocument>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)/$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/{R:1}" />
</rule>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
<httpErrors errorMode="Detailed" />
</system.webServer>
此文件应放在域的httpdocs或httpdocs / public文件夹中,具体取决于项目配置。 以下教程可能会提供有关在IIS中设置Laravel的一些其他详细信息:here和here