我目前正在使用.htaccess根据路径重写/
目录中的请求
RewriteRule ^([a-zA-Z0-9_]+)$ ?path=$1 [NC,L]
RewriteRule ^([a-zA-Z0-9_]+)/$ ?path=$1 [NC,L]
这样它就可以将domain.com/xyz/
或domain.com/xyz
解析为domain.com/?path=xyz
但它阻止了对子文件夹的访问。
我无法访问子文件夹domain.com/profile/或domain.com/settings/等。 所有请求都被覆盖。我该怎么办才能访问子文件夹?
答案 0 :(得分:1)
您必须排除真实目录和文件,您可以合并规则并使/
成为可选项。试试这些规则。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)/?$ /?path=$1 [NC,L]