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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
Php 由于htaccess,访问子目录文件时遇到困难_Php_.htaccess_Web - Fatal编程技术网

Php 由于htaccess,访问子目录文件时遇到困难

Php 由于htaccess,访问子目录文件时遇到困难,php,.htaccess,web,Php,.htaccess,Web,这是我的.htaccess代码 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-s RewriteRule ^(.*)$ api.php?rquest=$1 [QSA,NC,L] RewriteCond %{REQUEST_FILENAME} -d Rewri

这是我的
.htaccess
代码

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteRule ^(.*)$ api.php?rquest=$1 [QSA,NC,L]

    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.*)$ api.php [QSA,NC,L]

    RewriteCond %{REQUEST_FILENAME} -s
    RewriteRule ^(.*)$ api.php [QSA,NC,L]

    RewriteCond %{REQUEST_URI} !^/images/   

</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-s
重写规则^(.*)$api.php?rquest=$1[QSA,NC,L]
RewriteCond%{REQUEST_FILENAME}-d
重写规则^(.*)$api.php[QSA,NC,L]
重写cond%{REQUEST_FILENAME}-s
重写规则^(.*)$api.php[QSA,NC,L]
重写cond%{REQUEST_URI}^/图像/
我的目录结构:


我的问题是,我可以通过调用
/users
/getData
等来访问我的api.php。但是如果我选择
图像/someImage.jpg
,那么它就不允许了。

试试这个简单的重写规则

RewriteBase /your web directory
重新启动引擎

RewriteRule^([a-zA-Z0-9_-]+)$api.php?rquest=$1

RewriteRule^([a-zA-Z0-9_-]+)/$api.php?rquest=$1

下面是代码的分解

RewriteBase/#在此处输入目录根

重新启动引擎

下面的重写规则将重定向到例如www.example.com/home到example.com/api.php?rquest=$1

RewriteRule^([a-zA-Z0-9_-]+)$api.php?rquest=$1

下面将重定向到例如www.example/home/到example.com/api.php?rquest=$1。请注意/after/home

RewriteRule ^([a-zA-Z0-9_-]+)/$ api.php?rquest=$1
以上代码行排除了将www.example.com/images/someimages.jpg重定向到www.example.com的规则/


因此,这将暂时起作用。

RewriteRule^([a-zA-Z0-9_-]+)/$api.php?rquest=$1我也尝试过这一个,但它仍然不允许子目录文件。也许我一开始没有得到这个问题。你能解释更多吗,我可以帮助假设我点击的URl是www.mydomain.com/login,那么它将调用login方法api.php,如果www.mydomain.com/users,它将在api.php中调用users方法,因为我们“重写了rule^([a-zA-Z0-9_-]+)/$api.php?rquest=$1”,但不,因为这个规则,我不能访问www.mydomain.com/images/some.jpg