我在共享主机“ public_html”的根目录中安装了laravel应用,现在我想在ru /子文件夹中安装该应用的俄语版本,但是当我转到example.com/ru时,出现404 Page not found错误.我使用apache网络服务器根文件夹中的.htaccess文件包含以下代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$public/$1 [L]
</IfModule>
我应该如何更改此配置?
谢谢.
解决方法:
您将按照在根目录中安装它的方式进行操作.
我将告诉您如何将其安装在主域和子域的共享主机帐户上.
将所有项目上传到子文件夹后,您将成为example.com/ru,请执行以下操作:
>在您的公用文件夹中,有您的.htaccess文件.由于您基本上是将其作为子域,因此它必须位于该子域的根目录中,因此请将.htaccess从公用文件夹传输到ru文件夹的根目录.
>打开.htaccess并更改/添加以下内容:
DirectoryIndex public / index.php
并在RewriteRule中将其更改为:
public/index.php
而且要清楚一点,您的.htaccess在更改后应如下所示:
DirectoryIndex public/index.php
<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 ^ public/index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
这应该为您工作.