我的网站名为 http://example.com ,指向我的 public_html 目录。 我希望我的网站可以使用 http://example.com/cms 网址。 http://example.com/cms 应指向 public_html 目录。是否可以在网站根目录下创建子目录?
如何使用.htaccess执行此操作?
任何帮助将不胜感激。
感谢。
答案 0 :(得分:0)
由于您未提供有关要使用的CMS的任何详细信息,因此我只能提供通用的.htaccess文件。如果您的CMS附带了一些特殊的重写规则,您可能需要对此进行调整。
RewriteEngine on
RewriteBase /
# redirect to /cms if not rewritten internal
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_URI} !^/?cms(/.*)?$
RewriteRule ^/?(.*)$ /cms/$1 [R=301,L]
# rewrite to root directory if URL starts with /cms
RewriteCond %{REQUEST_URI} ^/?cms(/.*)?$
RewriteRule ^.*$ %1 [L]
只需将此.htaccess文件放在安装了CMS的 public_html 文件夹中即可。如果您致电您的网站http://example.com,您将被重定向(301)到http://example.com/cms,任何以/ cms开头的网址都会在内部重定向到您的根文件夹。您不必创建/ cms子文件夹。
我在使用Apache 2.4.27的Ubuntu 16.04.03 LTS服务器上测试了这个阳性。