如何使用.htaccess重定向所有请求

时间:2016-10-06 12:11:44

标签: php apache .htaccess

所以,这就是我的文件夹结构:

/
  /public/
     /index.php
     /app/
.htaccess

我希望当我输入www.example.com请求时,请转到public\index.php文件但不显示public。 如果我转到www.example.com\app,则转到\public\app,但只显示www.example.com\app

.htaccess可以吗?

2 个答案:

答案 0 :(得分:2)

在您的网站根.htaccess中,您可以使用:

DirectoryIndex index.php
RewriteEngine On

# add trailing slash in front of directories
RewriteCond %{DOCUMENT_ROOT}/public/$1 -d
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=301,NE]

# internally forward to /public/...
RewriteRule !^public/ public%{REQUEST_URI} [L,NC]

答案 1 :(得分:0)

这应该有效:

RewriteRule ^$  /public/index.php [L] 

RewriteCond %{REQUEST_URI} !^/public [NC]
RewriteRule ^(.*)$  public/$1 [L]