htaccess从url中删除目录并保持访问父目录

时间:2013-10-18 19:33:28

标签: apache .htaccess mod-rewrite url-rewriting

文件夹和文件结构

public_html/
           web/index.php
           upload/img.jpg

我需要mysite.com/web/index.php才能成为mysite.com/index.php 这是我的htaccess

RewriteEngine On
RewriteRule ^$ web/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ web/$1

它对我来说很完美。但我不能再访问目录“upload / img.jpg”了。 我还能访问mysite.com/upload/img.jpg吗?

提前感谢您的时间。

亲切的问候。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^(web|upload) web%{REQUEST_URI} [L,NC]

如果请求的URI适用于/web//upload/

,则会跳过此规则

答案 1 :(得分:0)

现在我可以回答我的问题了。

这是文件夹/ p​​ublic_html /

中的.htaccess
RewriteEngine On
RewriteRule ^$ web/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ web/$1

这是文件夹/ p​​ublic_html / web /

中的.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule    ^uploads/(.*)  /uploads/$1 [PT]