htaccess文件在php中不工作?

htaccess文件在php中不工作?,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我有一个代码,但这个代码不起作用 这是访问代码 RewriteEngine on RewriteRule ^([0-9]{1,10000})-([a-zA-Z0-9_]{1,10000})$ news.php?id=$2&namenews=$3 这是php代码 <a href='$slidefetch->id_ar-$slidefetch->name_ar'> 我想你有几件事做错了。在重写规则中,当它应该是$1/2时,您有$2/3。加上你有{110000}

我有一个代码,但这个代码不起作用

这是访问代码

RewriteEngine on
RewriteRule ^([0-9]{1,10000})-([a-zA-Z0-9_]{1,10000})$ news.php?id=$2&namenews=$3  
这是php代码

<a href='$slidefetch->id_ar-$slidefetch->name_ar'>

我想你有几件事做错了。在重写规则中,当它应该是$1/2时,您有$2/3。加上你有{110000},这意味着至少有1到100000个数字长!你可能想要像{1,6}或任何你的极限。此外,我相信url的长度有一个限制,根据浏览器/搜索引擎的不同,长度约为2000个字符,但最好保持更短

如果您想要1-10000,您可以尝试:

RewriteRule ^([1-9][0-9]{0,3}|10000)-([a-zA-Z0-9_]{1,6})$ news.php?id=$1&namenews=$2
否则:

RewriteRule ^([0-9]{1,6})-([a-zA-Z0-9_]{1,6})$ news.php?id=$1&namenews=$2
             (----$1----) (-------$2--------)
我不确定您的a标签是否有回声,但您应该执行以下操作:

echo '<a href="', $slidefetch->id_ar, '-', $slidefetch->name_ar, '">';
echo';

您需要进入php并响应它<代码>神圣…10000为上限@类-这是很多数字。但是谁知道呢,也许20年后,它会派上用场。@moto我想你误解了
{110000}
的用法,那意味着允许的字符数量,而不是数字的范围。如果您想要最多5位数字,可以使用
[0-9]{1,5}
,这将允许从1到99999的数字。如果你给我们看一个你想要重定向的URL的例子会更容易。我在htaccess文件和php代码中有“single.php?id=1”我想要它“1-name news.html”。