Apache mod_重写规则不总是有效

Apache mod_重写规则不总是有效,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,如果没有数字,我如何使以下条件起作用,以便它可以处理www.example.com/en/fourthcategory以及www.example.com/en/fourthcategory/8562 RewriteRule en/fourthcategory/([0-9]+) ?l=en&c=c4&p=$1 [L] 我可以使用两个规则,但我更喜欢只使用一个,因为最终会有两倍的规则,并且至少有四种语言会有相当多的类别 RewriteRule en/fourthcategory/(

如果没有数字,我如何使以下条件起作用,以便它可以处理www.example.com/en/fourthcategory以及www.example.com/en/fourthcategory/8562

RewriteRule en/fourthcategory/([0-9]+) ?l=en&c=c4&p=$1 [L]
我可以使用两个规则,但我更喜欢只使用一个,因为最终会有两倍的规则,并且至少有四种语言会有相当多的类别

RewriteRule en/fourthcategory/([0-9]+) ?l=en&c=c4&p=$1 [L]
RewriteRule en/fourthcategory ?l=en&c=c4 [L]
或者,这不是为每个可能的类别分别创建重写规则的正确方法吗?

您可以尝试以下方法:

RewriteEngine On
RewriteRule en/fourthcategory/?([0-9]*) ?l=en&c=c4&p=$1 [L]
小心点,你会得到一个最终的URL,如下所示:

/index.php?l=en&c=c4&p=8562
index.php可以是apache服务器的任何DirectoryIndex文件名。

您可以尝试以下方法:

RewriteEngine On
RewriteRule en/fourthcategory/?([0-9]*) ?l=en&c=c4&p=$1 [L]
小心点,你会得到一个最终的URL,如下所示:

/index.php?l=en&c=c4&p=8562

index.php可以是apache服务器的任何DirectoryIndex文件名。

这就成功了。它起作用了。由于我的声誉,我不能认为你的回答是有用的。这就成功了。它起作用了。由于我的声誉和价值,我不能认为你的回答有用