Php 如何将所有网站目录转发到Root public_html

Php 如何将所有网站目录转发到Root public_html,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我当前有一个.htaccess文件,其中包含以下重写规则,这些规则适用于单个子目录路径: RewriteRule ^C / [L] RewriteRule ^D / [L] domain.com/Cxyz-->domain.com domain.com/Dxyz-->domain.com 我不知道如何1)将此设置为泛型,以使用于启动子目录的任何字符都能转发到根域,2)处理多个较低的子目录: domain.com/Path1/Path2-->domain.com 我相信这很容易,但我想不出来。我

我当前有一个.htaccess文件,其中包含以下重写规则,这些规则适用于单个子目录路径:

RewriteRule ^C / [L]
RewriteRule ^D / [L]
domain.com/Cxyz-->domain.com domain.com/Dxyz-->domain.com

我不知道如何1)将此设置为泛型,以使用于启动子目录的任何字符都能转发到根域,2)处理多个较低的子目录:

domain.com/Path1/Path2-->domain.com


我相信这很容易,但我想不出来。我编写的任何规则,如果它们正确解析,永远不会正确显示站点,就好像CSS文件不可访问一样。

如果您只需要真实的目录(存在于文件系统上) 只要这样做:

RewriteEngine On
# exclude if the Path starts with lower case letter
RewriteCond %{REQUEST_URI} !^/?[a-z].*$
RewriteRule .* / [L]

如果您只需要真实目录(存在于文件系统上) 只要这样做:

RewriteEngine On
# exclude if the Path starts with lower case letter
RewriteCond %{REQUEST_URI} !^/?[a-z].*$
RewriteRule .* / [L]

我们在谈论真实的目录吗?您的规则还将重新布线文件,例如/Contact.html或/Custom/style.cs我们是在谈论真正的目录吗?您的规则还将重新连接文件,例如/Contact.html或/Custom/style.csst如果我删除RewriteCond%{REQUEST_FILENAME}-d行,这几乎对我有效。不幸的是,正如您所指出的,我有一些小写的实际文件名路径需要保留。您能否更改底部规则,使其成为任何以大写字符而不是通配符开头的路径?最后的后续。。。如果有多个文件夹,如domain.com/Abc/Xyz,该怎么办?如果我删除RewriteCond%{REQUEST_FILENAME}-d行,这几乎对我有效。不幸的是,正如您所指出的,我有一些小写的实际文件名路径需要保留。您能否更改底部规则,使其成为任何以大写字符而不是通配符开头的路径?最后的后续。。。如果存在多个文件夹,如domain.com/Abc/Xyz,该怎么办?