【发布时间】:2014-03-21 04:42:43
【问题描述】:
我到处寻找可以从以下位置重写 url 的 htaccess 规则:
customer.com/it/public/ 到 customer.com/it/
我的文件夹结构是这样的:
/customer.com
.htaccess
|-- it
|-- .htaccess
|-- public
| |-- .htaccess
在网站的根目录下,是一个 Codeigniter 应用,在 IT 文件夹内,是一个 Laravel 应用。
这是我当前网站根目录中的 HTACCESS(重写 codeigniter index.php):
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
</IfModule>
这些是我在IT文件夹根目录下的HTACCESS文件中的规则(应该重写laravel公用文件夹):
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public/
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>
这些是公共文件夹中HTACCESS文件中的规则(重写公共文件夹中的index.php):
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
调试部分:
DOCUMENT_ROOT C:/xampp/htdocs
REQUEST_SCHEME http
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT C:/xampp/htdocs
SERVER_ADMIN postmaster@localhost
SCRIPT_FILENAME C:/xampp/htdocs/it/public/index.php
REMOTE_PORT 44461
REDIRECT_URL /it/
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING
REQUEST_URI /it/
SCRIPT_NAME /it/public/index.php
PHP_SELF /it/public/index.php
REQUEST_TIME_FLOAT 1395338241.106
REQUEST_TIME 1395338241
【问题讨论】: