.htaccess重定向到子文件夹

时间:2017-12-06 08:11:46

标签: apache .htaccess

我试着做以下事情:如果我去www.example.com/panel - >我想在文件夹面板中打开index.php,如果我去www.example.com/panel/somehing - 我想把它翻译成www.example.com/panel/index.php?content=something

现在我尝试了各种可能的解决方案,包括重定向到子文件夹,如

RewriteCond %{REQUEST_URI} !^/subfolder/public/ [NC]
RewriteRule ^(.*)$ subfolder/public/$1 [L]

但这完全覆盖了我的主index.php并将所有内容重定向到子文件夹。

我确实使用了这样简单的条件和规则:

RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.+$
RewriteRule ^check-out/?$ index.php?content=check-out [NC,L]

这很好用,我想要的方式。

所以,如果我在位置

www.example.com/panel/user

我需要像

这样的东西
RewriteRule ^panel/([^/]+)$ panel/index.php?content=$1 [NC,L]

([^ /] +)$ $ 1 在这种情况下代表“用户”,网站应重定向到

www.example.com/panel/index.php?content=user

1 个答案:

答案 0 :(得分:1)

panel/.htaccess里面有这段代码:

DirectoryIndex index.php
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ index.php?content=$0 [L,QSA]