我目前正在使用.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/等。所有请求都将被覆盖。如何访问子文件夹?
您必须排除真实目录和文件,然后可以组合规则并使/
可选。试试这些规则。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_]+)/?$ /?path=$1 [NC,L]