Php Htaccess跳过空行问题

Php Htaccess跳过空行问题,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我对.htaccess和数字有点问题 我有一个目录 http://somedomain.com/directory/ 当我向它添加一个数字时,我想使用htaccess创建一个变量 http://somedomain.com/directory/ RewriteRule ^[0-9]+$ index.php?action=viewclient&clientnumber=$1 [L] 当我放置此URL时,我希望创建clientnumber

我对
.htaccess
和数字有点问题

我有一个目录

       http://somedomain.com/directory/
当我向它添加一个数字时,我想使用htaccess创建一个变量

       http://somedomain.com/directory/

       RewriteRule ^[0-9]+$ index.php?action=viewclient&clientnumber=$1 [L]
当我放置此URL时,我希望创建clientnumber

       http://somedomain.com/directory/5
但是,当我没有在其中输入任何数字时,它仍然会创建
$action
变量,其中包含一个空
$clientnumber

       http://somedomain.com/directory/
如果URL中有一个数字但为空,我是否需要对htaccess进行更改,以仅添加这些变量。如果未添加变量,则跳过此htaccess行

谢谢

编辑:我无法让URL的工作。根据提供的答案。我要去睡觉了&周末再检查一下

RewriteRule ^[0-9]+$ index.php?action=viewclient&clientnumber=$1 [L]
如果我放/directory/我就得到我想要的。如果我输入/directory/4或directory/87(任何数字),我会得到一个404错误

EDIT2-奇怪

我要去睡觉了,但决定再试一次&选择了另一个客户。URL的格式相同

一些客户端工作(显示正确的页面),其他URL(正确的URL)显示404页面

我将在周末尝试调试更多很奇怪。(我将在index.php顶部添加一个调试脚本/日志,以查看页面是否正在加载。)

编辑3:-我在index.php顶部添加了一个小日志脚本-它确实记录了有效的/工作的URL,但如果是404错误,它不会激活(错误是相同格式的URL-因此应该激活index.php-&然后我的index.php应该进行计算/检查,看看这些值是否有效。但它甚至不能进入我的php脚本

好了,我要去睡觉了-周末再试试

RewriteRule ^[0-9]+$ index.php?action=viewclient&clientnumber=$1 [L]
$1
引用第一个捕获组。正则表达式中没有任何捕获组。这是正确的:

RewriteRule ^([0-9]+)$ index.php?action=viewclient&clientnumber=$1 [L]
改成

RewriteRule^([0-9])$index.php?action=viewclient&clientnumber=$1[L]

(在[0-9]之后没有+)


将意味着仅当请求中存在数字0-9时才执行规则

您可以在index.php中设置要执行的操作,如
if(!isset($\u GET['clientnumber']){do\u REDIRECT\u HERE}
您的.htaccess文件相对于目录的位置在哪里?您是否已为该位置设置了所有权限?您是否已确保设置了
上的重写引擎(即正在执行重写规则)。抱歉,我误解了您的问题,重点是:“如果URL中有数字,是否需要对htaccess进行更改以仅添加这些变量”