.htaccess - 从网址中删除一个字词

时间:2016-11-22 12:18:32

标签: apache .htaccess redirect mod-rewrite clean-urls

我有一个项目目录结构如下

| project
 --| controllers
 --| views
   --| index.php
   --| .htaccess
 --| config
 --| .htaccess

这是我的主要.htaccess

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(.*)?$ views [L]
</IfModule>

和我的观点.htaccess

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^.+$ index.php [L]
</IfModule>

我可以将所有请求重定向到 views / index.php 。当我转到 www.example.com/project 时,它会被重定向到 www.example.com/project/views < /强>

我的主要问题是我不希望在我的网址中看到视图。如果我访问www.example.com/project,它应该执行views / index.php但URL不会更改。任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

将此保留在主.htaccess中:

RewriteEngine On
RewriteRule .* views/$0 [L]

然后在.views/.htaccess

中这样做
RewriteEngine on

RewriteRule ^index\.php$ - [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]