mmv*_*sbg 3 php .htaccess url-rewriting yii yii2
关于如何从您的Yii 2.0应用程序URL隐藏index.php的网上有大量信息,但是,我在这里要做的是从URL中删除'/ basic/web /'./ basic/web是运行应用程序的目录,到目前为止我的配置如下.这进入配置文件:
'urlManager' =>[
'enablePrettyUrl' => true,
'showScriptName' => false,
],
Run Code Online (Sandbox Code Playgroud)
这是我在/ web文件夹中的htaccess文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Run Code Online (Sandbox Code Playgroud)
到目前为止,这么好,我可以访问直接调用的东西mysite.com/basic/web/controller/action.虽然要删除/ basic/web以使URL变得简单,但我需要做什么mysite.com/controller/action?
欢迎任何提示,谢谢!
编辑:我正在寻找一种不触及apache配置文件的方法,因为我无法访问它.
RewriteEngine on
# Change yourdomain.com to be your primary domain.
RewriteCond %{HTTP_HOST} ^(www.)?yourdomain.com$
RewriteCond %{REQUEST_URI} !^/basic/web/
# Don't change this line.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /basic/web/$1
RewriteCond %{HTTP_HOST} ^(www.)?yourdomain.com$
RewriteRule ^(/)?$ basic/web/index.php [L]
Run Code Online (Sandbox Code Playgroud)
完成后将.htaccess权限更改为440.没有什么可以担心使用这种方法,与Mihai P.所说的相反.
您应该以另一种方式定义您的apache配置.您的网站应指向{folder}/basic/web,而不是{folder}.
因为您更改了要求:
对于cpanel设置,您应该:
1)删除愚蠢的基本文件夹,无论如何它的意义是什么?只是因为Yii安装这种方式并不意味着你必须保留它.所以将所有内容都提升1级.
2)将web重命名为public_html,确保在某些文件中重命名它(想到config/bootstrap).
是的,你可以用.htaccess来做,但你不应该把文件暴露在互联网上,只是你的网络文件夹应该暴露,所以我不给你那个解决方案,因为它不是一个好的.
| 归档时间: |
|
| 查看次数: |
10235 次 |
| 最近记录: |