Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从htaccess中的重写规则中排除主目录/主页?_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php 如何从htaccess中的重写规则中排除主目录/主页?

Php 如何从htaccess中的重写规则中排除主目录/主页?,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我不知道如何将主页排除在重写之外。 换句话说,.htaccess将“example.com”视为“example.com/user/index.php?name=”,因此它显示用户特定的内容,而不是我的主页。我尝试了很多东西,但都没有达到我的预期效果 RewriteEngine on RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_FILENAME) !-d RewriteRule ^about/([A-Za-z0-9-

我不知道如何将主页排除在重写之外。 换句话说,.htaccess将“example.com”视为“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]

希望你们能理解我的问题所在

规则看起来很好,正则表达式中的
+
限定符应该使其与
/
请求不匹配。您可以尝试在

RewriteCond %{THE_REQUEST} \ /+(?:index\.php|)($|\ )
RewriteRule ^ - [L]