这是我的.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>
我的目录结构:
我的问题是,我可以通过拨打/users
或/getData
等来访问我的api.php。但是,如果我选择images/someImage.jpg
,则不允许。
答案 0 :(得分:0)
尝试这个简单的重写规则
RewriteBase /your web directory
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ api.php?rquest=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ api.php?rquest=$1
以下是代码的细分
RewriteBase / #enter your directory root here
RewriteEngine On
以下重写规则将重定向,例如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 /
的规则所以这将暂时有用。