我在根目录中有一个 .htaccess,内容如下:
<IfModule mod_rewrite.c>
RewriteEngine on
#RewriteCond %{HTTP_HOST} ^domain.com
#RewriteRule (.*) http://www.domain.com$1 [R=301,L]
</IfModule>
如果我去http://domain.com/subdir它会重写为http://www.domain.com/subdir。
但是我有一个名为“crm”的子目录的问题 - 如果我转到http://domain.com/crm它会将我重定向到http://www.domain.com而不是http://www.domain.com /CRM。
在这个“crm”子目录中,我有另一个 .htaccess 文件,它将 .php 扩展名重写为 .html。这是代码:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^([^/]*)/([^/]*)\.html$ ?name=$1&id=$2 [L]
RewriteRule ^(.*).html$ index.php?name=$1 [QSA]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ ?name=$1&id=$2 [L]
</IfModule>
有人可以告诉我如何使这项工作吗?所以当我去http://domain.com/crm时,它会将我重定向到http://www.domain.com/crm。
编辑:
Root .htaccess 没问题,我正在更改某些内容,但忘记删除 stackoverflow 的注释。
crm/.htaccess 现在是:
RewriteEngine on
RewriteOptions Inherit
RewriteRule ^([^/]*)/([^/]*)\.html$ ?name=$1&id=$2 [L]
RewriteRule ^(.*).html$ index.php?name=$1 [QSA]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ ?name=$1&id=$2 [L]
但它仍然不会将此子目录重定向到 www.domain.com/crm 而只是重定向到 www.domain.com :(