RewriteEngine on
RewriteCond %{HTTP_HOST} ^(^.*)\.mysite.net
RewriteRule (.*) user/index.php?fullname=%1
上述.htaccess文件侦听子域,并在找到特定文件时将请求转发给特定文件。
在与RewriteRule相同的目录中,有一个名为“edit”的目录,由于当前的.htaccess文件,我无法访问该目录。有什么方法可以修改这个.htaccess文件,这样我就可以输入mysubdomain.mysite.net/edit而不是让它重定向回用户/ index.php吗?
由于
答案 0 :(得分:0)
检查请求是否不适用于实际存在的文件或目录:
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
答案 1 :(得分:0)
只需添加一个RewriteCond即可免除编辑/规则,例如:
RewriteCond %{HTTP_HOST} ^(.*)\.mysite.net
RewriteCond %{REQUEST_URI} !/edit/?
RewriteRule .* user/index.php?fullname=%1
第二个条件表示“如果请求的URI不包含/编辑/或/编辑为子字符串”。根据您的确切需求自定义正则表达式:)。此外,请务必查看manual,它有很多好的信息和很好的例子。