.htaccess如何删除子目录?

时间:2013-06-19 09:20:35

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

我有一个网站,我想进入

http://mysite.com/myfolder

但转到(从中加载index.php)

http://mysite.com/dir/myfolder

那么我应该使用哪种RewriteRule

以下规则不起作用,并且在所有页面中都导致“500:内部服务器错误”。

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

谢谢!

2 个答案:

答案 0 :(得分:0)

只要没有路径包含" dir"以下内容就可以正常工作字符串:

RewriteEngine On
RewriteCond %{HTTP_HOST} !dir
RewriteRule ^(.*)$ http://mysite.com/dir/$1 [R=301,L]

答案 1 :(得分:0)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule (?!^dir/)^(.*)$ /dir/$1 [L,NC]