在 Yii2 中隐藏来自 URL 的网页
Hide web from URL in Yii2
我已遵循 this question 中描述的答案。我已按照建议将应用程序文件和文件夹移动到上一层。
public_html/basic/web,config etc..
至 public_html/web,config etc..
通过修改这些配置从 url 中删除了 index.php:
config/web.php
'urlManager' =>[
'enablePrettyUrl' => true,
'showScriptName' => false,
],
web 文件夹中的 htaccess 文件
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
所以现在我的 url 是 example.com/web/controller/action
如何从上面的 url 中隐藏网页?我无权访问 apache 配置文件。
我的回答仍然有效:).
您走对了,将所有内容下移 1 个目录。现在你在 public_html 中复制了整个 yii2 应用程序,你应该将它向下移动 1 个目录。然后将您在网络上的所有内容复制到 public_html。通过这样做,您的所有脚本都不会暴露在网络上,只有 1 个 index.php 会暴露,这是设置它的正确方法。
这也是 yii 的主要教程,告诉你如何去做 https://github.com/yiisoft/yii2/blob/master/docs/guide/tutorial-shared-hosting.md
不要害怕这样做,服用蓝色药丸(或者它是红色的):)。
你可以尝试加入config\web
$baseUrl = str_replace('/web', '', (new Request)->getBaseUrl());
$config = [
'defaultRoute' => $baseUrl,
'components' => [
'request' => [
'baseUrl' => $baseUrl,
]
],
'urlManager' => [
'baseUrl' => $baseUrl,
]
我已遵循 this question 中描述的答案。我已按照建议将应用程序文件和文件夹移动到上一层。
public_html/basic/web,config etc..
至 public_html/web,config etc..
通过修改这些配置从 url 中删除了 index.php:
config/web.php
'urlManager' =>[
'enablePrettyUrl' => true,
'showScriptName' => false,
],
web 文件夹中的 htaccess 文件
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
所以现在我的 url 是 example.com/web/controller/action
如何从上面的 url 中隐藏网页?我无权访问 apache 配置文件。
我的回答仍然有效:).
您走对了,将所有内容下移 1 个目录。现在你在 public_html 中复制了整个 yii2 应用程序,你应该将它向下移动 1 个目录。然后将您在网络上的所有内容复制到 public_html。通过这样做,您的所有脚本都不会暴露在网络上,只有 1 个 index.php 会暴露,这是设置它的正确方法。
这也是 yii 的主要教程,告诉你如何去做 https://github.com/yiisoft/yii2/blob/master/docs/guide/tutorial-shared-hosting.md
不要害怕这样做,服用蓝色药丸(或者它是红色的):)。
你可以尝试加入config\web
$baseUrl = str_replace('/web', '', (new Request)->getBaseUrl());
$config = [
'defaultRoute' => $baseUrl,
'components' => [
'request' => [
'baseUrl' => $baseUrl,
]
],
'urlManager' => [
'baseUrl' => $baseUrl,
]