htaccess,如果文件夹存在则重定向 [英] Htaccess, redirect if folder exists

查看:45
本文介绍了htaccess,如果文件夹存在则重定向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果文件夹安装存在,但我到目前为止还没有运气,我正在尝试重定向用户.

I'm trying to redirect the user if the folder install exists but i had no luck so far.

下面是我的htaccess文件.

Below is my htaccess file.

RewriteEngine On
RewriteBase /enc/project/
# If the setup directory exists in the document root...
RewriteCond %{DOCUMENT_ROOT}/install -d
# ...and you're not in isntall..
RewriteCond %{REQUEST_URI} !(install) [NC]
# ...redirect to setup - with a 302 (temporary redirect) to make sure the browser won't cache the redirect.
RewriteRule ^(.*) /install [L,redirect=302]
# ...rest of htaccess for codeigniter
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

codeigniter项目位于服务器的/enc/project/中,这就是RewriteBase的原因.

The codeigniter project is in the /enc/project/ in my server thats why the RewriteBase.

Project Structure is

htdocs/enc/project/
|-- application/
|   |-- project
|
|-- system/
|   |-- project
|
|-- install/
|   |-- test/
|   |   |-- test_main.php
|   |   
|   |-- index.php
|
|-- htaccess

推荐答案

尝试这些规则

RewriteEngine On
RewriteBase /enc/project/

# If the setup directory exists in the document root...
RewriteCond %{DOCUMENT_ROOT}/enc/project/install -d
# ...and you're not in isntall..
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# ...redirect to setup - with a 302 (temporary redirect) to make sure the browser won't cache the redirect.
RewriteRule !^install/ install/ [L,NC,R=302]

# ...rest of htaccess for codeigniter
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

这篇关于htaccess,如果文件夹存在则重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆