我无法弄清楚如何从重写中排除主页。 换句话说,.htaccess对待" example.com" as" example.com/user/index.php?name ="所以它显示用户特定的内容而不是我的主页。我已经尝试过很多东西,但没有像我预期的那样有效。
RewriteEngine on
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^about/([A-Za-z0-9-]+)/?$ /about/index.php?p=$1 [L]
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteCond %{REQUEST_URI} !^/login/?$ [NC]
RewriteCond %{REQUEST_URI} !^/register/?$ [NC]
RewriteCond %{REQUEST_URI} !^/about/?$ [NC]
RewriteRule ^([A-Za-z0-9.]+)/?$ /user/index.php?name=$1 [L]
希望你们明白我的问题是什么。
答案 0 :(得分:0)
规则看起来很好,正则表达式中的+
限定符应该使它不会仅仅匹配/
请求。您可以尝试在RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+(?:index\.php|)($|\ )
RewriteRule ^ - [L]