Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.htaccess设置方向_.htaccess_Mod Rewrite - Fatal编程技术网

使用.htaccess设置方向

使用.htaccess设置方向,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我目前在PHP项目的重定向问题上遇到了麻烦。我的项目具有以下结构: root --config --classes --sites --libs --web ----assets ----index.php --.htaccess 主文件夹是“web”文件夹,其中加载了我的所有代码和逻辑。 是否可以在my.htaccess文件中设置重定向以加载“/web”文件夹中的所有内容,而不将其显示在URL中 My.htaccess文件包含以下内容: RewriteEngine On RewriteBas

我目前在PHP项目的重定向问题上遇到了麻烦。我的项目具有以下结构:

root
--config
--classes
--sites
--libs
--web
----assets
----index.php
--.htaccess
主文件夹是“web”文件夹,其中加载了我的所有代码和逻辑。 是否可以在my.htaccess文件中设置重定向以加载“/web”文件夹中的所有内容,而不将其显示在URL中

My.htaccess文件包含以下内容:

RewriteEngine On
RewriteBase /web
<Files *.php>
    deny from all
</Files>
<Files "index.php">
    Order Allow,Deny
    Allow from all
</Files>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/?$ ?site=$1 [QSA]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ ?site=$1&slug1=$2 [QSA]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ ?site=$1&slug1=$2&slug2=$3 [QSA]
RewriteRule ^index\.html$ / [NC,R,L]
RewriteRule ^index\.php$ / [NC,R,L]
重新编写引擎打开
重写数据库/网络
全盘否定
命令允许,拒绝
通融
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/\.]+)/?$?站点=$1[QSA]
重写规则^([^/\.]+)/([^/\.]+)/?$?站点=$1&slug1=$2[QSA]
重写规则^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$?站点=$1&slug1=$2&slug2=$3[QSA]
重写规则^index\.html$/[NC,R,L]
重写规则^index\.php$/[NC,R,L]

确保这是可能的。您不需要重定向,而是需要内部重写。你需要实现一些条件,作为最有可能的异常。你有一个代码示例给我吗?我不熟悉htaccess,因此我建议您查看一下所使用工具的文档。作为开源软件的典型代表,它的质量非常好,并附带了很多很好的例子: