.htaccess 如何使用htaccess使用连字符分隔两个变量

.htaccess 如何使用htaccess使用连字符分隔两个变量,.htaccess,url,.htaccess,Url,我正在尝试这样的url:domain.com/category-subcategory。 如果我进入domain.com/category,它会工作,但如果我试图进入domain.com/category-subcategory,它不会工作。。 这是我的代码: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ category.php?category=$1

我正在尝试这样的url:domain.com/category-subcategory。 如果我进入domain.com/category,它会工作,但如果我试图进入domain.com/category-subcategory,它不会工作。。 这是我的代码:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ category.php?category=$1 [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)-([^/]+)/$ category.php?category=$1&subcategory=$2 [L,NC]
我怎样才能修好它?谢谢

编辑:我修复了它!代码如下:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)-([^/]+)$ category.php?category=$1&subcategory=$2 [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ category.php?category=$1 [L,NC]
我只需要在结尾的$之前删除斜杠。谢谢大家

试试下面的

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)-([^/]+)$ category.php?category=$1&subcategory=$2 [L,NC]

我不知道。htaccess很好,但这可能是订购问题吗?可能是“命中”是你的第一条规则,如果你移动了规则的顺序,那么只有在名称中有连字符时,第一条规则才会“命中”……否则,退回到另一条规则?@theGleep我也不知道,伙计,我正在尝试我写的代码,你不知道我能做什么?抱歉,它不起作用。我没主意了,那么:)他们说没问题,伙计,谢谢你的努力