Php 如何在共享主机的子文件夹中安装laravel应用程序?
我在共享主机“public_html”的根目录下安装了laravel应用程序。现在我想在ru/子文件夹中安装此应用程序的俄语版本,但当我转到example.com/ru时,我发现404页面未找到错误。我使用根文件夹中的apache web服务器my.htaccess文件包含这些代码Php 如何在共享主机的子文件夹中安装laravel应用程序?,php,apache,.htaccess,laravel,mod-rewrite,Php,Apache,.htaccess,Laravel,Mod Rewrite,我在共享主机“public_html”的根目录下安装了laravel应用程序。现在我想在ru/子文件夹中安装此应用程序的俄语版本,但当我转到example.com/ru时,我发现404页面未找到错误。我使用根文件夹中的apache web服务器my.htaccess文件包含这些代码 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
重新启动发动机
重写规则^(.*)$public/$1[L]
我应该如何更改此配置
谢谢。您将以与在根目录中安装相同的方式执行此操作。我将告诉您我是如何在我的共享主机帐户(包括主域和子域)上安装它的。在我将所有项目上载到子文件夹后,您将使用
example.com/ru
,请执行以下操作:
DirectoryIndex public/index.php
.htaccess
文件。由于您基本上将此文件设置为子域,因此它需要位于该子域的根目录中,因此将.htaccess
从公用文件夹传输到ru
文件夹的根目录中.htaccess
并更改/添加以下内容:
DirectoryIndex public/index.php
在重写规则中
将其更改为:
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>
DirectoryIndex public/index.php
选项-多视图
重新启动发动机
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}!-d
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}!-d
重写cond%{REQUEST_FILENAME}!-f
重写规则^public/index.php[L]
#句柄授权头
RewriteCond%{HTTP:Authorization}。
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
你的目录结构是什么?整个laravel应用程序在ru/
目录中?我在根文件夹中有laravel应用程序,在子文件夹中有另一个laravel应用程序/rutis是我主机中目录结构的图像。我需要一个.htaccess配置,如果url以/ru文件夹开始,否则转到主站点的公共文件夹,你需要一个单独的文件夹.htaccess
,因为这基本上是一个“新网站”“,或您案例中的子域。试试我上面写的,你会发现它工作得很好。我在public_html中有一个.htaccess,在/public中有一个.htaccess。我在/ru中有一个.htaccess,在/ru/public中有一个.htaccess。应该删除哪一个?哪一个应该改变?正如我所说的,再读一遍我所说的。您不需要4或5个ht访问文件。每个站点/子站点仅一个。主站点的公共html中的一个,您应该保留。您需要在公共html中为ru
文件夹设置一个。就这样。我听了你的建议,但还是不管用。谢谢