子域.htaccess文件问题

时间:2013-12-15 20:41:09

标签: php .htaccess mod-rewrite

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

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

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

由于

2 个答案:

答案 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,它有很多好的信息和很好的例子。