使Web根文件夹的子文件夹.htaccess的?(Make web root folder a su

2019-06-24 01:26发布

我工作的一个相当复杂的项目,所以我想去一个文件/文件夹结构,这是很有意义的。

文件夹/文件结构,我想拥有的是:

.htaccess
/php/
/assets/

我想有网页,人们会在访问:

/php/views/pages/

我不知道是否有可能只使用.htaccess设置/php/views/pages的“可视根”,从而例如,当人们访问http://mydomain.com/他们将观看http://mydomain.com/php/views/pages/index.php ,如果是的话,我将如何去这样做呢?

此外,是否有可能规范化所有访问/php/views/pages使用.htaccess和301重定向阻止多个环节被索引的搜索引擎?

Answer 1:

如果您没有访问到您的主机配置

DocumentRoot只能在服务器和虚拟主机CONFIGS使用,它的.htaccess必须。

  1. 让我们添加指令在你的.htaccess

     RewriteEngine on 
  2. 我想,你希望让请求/资产办理

     #if a match for asset is found, do nothing RewriteRule ^assets/ - [L] 
  3. 如果一个请求尝试访问/php/views/pages/直接重定向到它的规范版本

     RewriteCond %{THE_REQUEST} php/views/pages/ RewriteRule ^php/views/pages/(.*) http://mydomain.com/$1 [R=301,L] 
  4. ,增加一条规则来映射其他一切/php/views/pages/

     RewriteCond %{REQUEST_URI} !php/views/pages/ RewriteRule ^(.*)$ /php/views/pages/$1 [L] 

如果你有机会到您的主机配置

忘掉.htaccess文件并使用它。 一个示例配置可能看起来像

# ~base stands for your original DocumentRoot
<VirtualHost *:80>
    DocumentRoot ~base/php/views/pages
    Alias /assets ~base/assets

    # other configuration parameters
</VirtualHost>


文章来源: Make web root folder a sub-folder with .htaccess?