子域 .htaccess 文件问题


Subdomain .htaccess file issue

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(^.*)'.mysite.net
RewriteRule (.*) user/index.php?fullname=%1

上面的 .htaccess 文件侦听子域,并在找到请求时将请求转发到特定文件。

在与RewriteRule相同的目录中,有一个名为"edit"的目录,由于当前的.htaccess文件,我无法访问该目录。有什么方法可以修改这个.htaccess文件,以便我可以输入 mysubdomain.mysite.net/edit 而不是让它将我重定向回用户/索引.php?

谢谢

检查请求是否针对实际存在的文件或目录:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(^.*)'.mysite.net
RewriteRule (.+) user/index.php?fullname=%1
RewriteCond %{HTTP_HOST} ^(^.*)'.mysite.net
RewriteRule ^$ user/index.php?fullname=%1

只需添加一个 RewriteCond 来免除 edit/的规则,如下所示:

RewriteCond %{HTTP_HOST} ^(.*)'.mysite.net
RewriteCond %{REQUEST_URI} !/edit/?
RewriteRule .* user/index.php?fullname=%1

第二个条件表示"如果请求的 URI 不包含/edit/或/edit 作为子字符串"。根据您的确切需求自定义正则表达式:)。另外,请务必查看手册,它有大量的好信息和很好的例子。