php-使用.htaccess的Apache文档根

我有一个目录结构

mymvc
    |--App
    |--Core
    |--logs
    |--public
             |--index.php
    |--vendor
    |--.htaccess

我想要的是,如果有人点击我的网址www.example.com/mymvc/,则所有请求都必须使用.htaccess文件通过public-> index.php.我无权访问httpd.conf文件.

|--public
        |--index.php

我希望我的公用文件夹只能作为文档根目录访问,并要求通过公用文件夹中的index.php文件进行传递.没有人可以直接访问App,Core,log等目录.意味着我希望我的公用文件夹成为DOCUMENT ROOT.

解决方法:

首先,您需要在项目的根目录中创建一个.htaccess文件.

mymvc / .htaccess

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

然后,在公共目录(该文件为mymvc / public / .htaccess)中的.htaccess文件中,您需要向现有代码中添加RewriteBase指令,因此如下所示:

mymvc / public / .htaccess

# Remove the question mark from the request but maintain the query string
RewriteEngine On
RewriteBase /mymvc
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(.*)$index.php?$1 [L,QSA]
上一篇:使用PHP和jQuery将PDF打印到页面


下一篇:PHP-重定向到首页,而不是404错误页面!