Php 内部重定向的htaccess规则不起作用?

Php 内部重定向的htaccess规则不起作用?,php,apache,.htaccess,codeigniter,Php,Apache,.htaccess,Codeigniter,是实际的url 我想为url的内部重定向编写htaccess规则: 我使用下面的规则- 重写规则^class/([\w-]*)/$index.php?slug=$1&type=class 但它不起作用。一种方法是: RewriteRule ^class/([\w-]+)/$ index.php?slug=$1&type=class [L,QSA] RewriteRule ^([\w-]+)/([\w-]+)/$ index.php?slug=$2&type=$1 [L,QSA

是实际的url

我想为url的内部重定向编写htaccess规则:

我使用下面的规则-

重写规则^class/([\w-]*)/$index.php?slug=$1&type=class

但它不起作用。

一种方法是:

RewriteRule ^class/([\w-]+)/$ index.php?slug=$1&type=class [L,QSA]
RewriteRule ^([\w-]+)/([\w-]+)/$ index.php?slug=$2&type=$1 [L,QSA]
另一个是:

RewriteRule ^class/([\w-]+)/$ index.php?slug=$1&type=class [L,QSA]
RewriteRule ^([\w-]+)/([\w-]+)/$ index.php?slug=$2&type=$1 [L,QSA]
备注:
*我没有测试过,但你应该知道…
*第一个方法的url必须以单词
class
开头,第二个方法的url用于dinamic url
*不要忘记规则上的
[L]
标志,因为不使用它可能会得到意外的结果
*如果要附加其他
GET
值,请不要忘记规则上的
[QSA]
标志
*
$1
([\w-]+)
集合捕获所有内容,从第二个集合捕获$2

*我使用了
([\w-]+)
而不是
([\w-]*)
,因为url的这一部分是强制性的

你的
的其余部分是什么。htaccess
文件代码?@Praful:正如我在回答中所说的,这没有经过测试。但只要稍加调整,它就会起作用。试试看。