Regex htaccess限制最大长度变量

Regex htaccess限制最大长度变量,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,首先,这已经起作用了,但我想限制一些可变长度。 我的代码的任何其他改进也是受欢迎的 RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteRule pict/([a-z]+)/([0-9]+) retpic.php?type=$1&id=$2 [L] RewriteRule pc/(.*) pcs/$1 [L] RewriteRule ^([a-z]+)/([0-9]+) index.php?ln=$1&am

首先,这已经起作用了,但我想限制一些可变长度。 我的代码的任何其他改进也是受欢迎的

RewriteEngine on 
Options +FollowSymlinks
RewriteBase / 

RewriteRule pict/([a-z]+)/([0-9]+) retpic.php?type=$1&id=$2 [L]

RewriteRule pc/(.*) pcs/$1 [L]

RewriteRule ^([a-z]+)/([0-9]+) index.php?ln=$1&id=$2 [L]

RewriteCond %{REQUEST_URI} !=/index.php
RewriteCond %{REQUEST_URI} !=/retpic.php
RewriteCond %{REQUEST_URI} !^/pcs/.*$
RewriteCond %{REMOTE_HOST} !^11\.11\.11\.11

RewriteRule . index.php [L]
retpic.php将我的图片分发到以下位置:
([a-z]+)
是一个显示图片大小和类型的更好指示器
([0-9]+)
是我想要的图片的6位id

是否可以将这些限制为最多2个和6个字符

我的索引也是如此:
([a-z]+)
一个更好的语言指示器是(en、de、li、nl)
([0-9]+)
要显示的页面的6位id

pcs文件夹包含多级文件夹结构中的我的css和js文件 而且应该可以自由访问

最后一部分我使用重定向每个错误的url到我的索引,除了我的OWIP地址
因此,我可以访问我的cms

您可以使用range regex构造
{…}
强制长度:

RewriteEngine on 
Options +FollowSymlinks
RewriteBase / 

RewriteRule pict/([a-z]{2})/([0-9]{6})/?$ retpic.php?type=$1&id=$2 [L,QSA]

RewriteRule pc/(.*)$ pcs/$1 [L]

RewriteRule ^([a-z]{2})/([0-9]{6})/?$ index.php?ln=$1&id=$2 [L,QSA]

RewriteCond %{REQUEST_URI} !=/index.php
RewriteCond %{REQUEST_URI} !=/retpic.php
RewriteCond %{REQUEST_URI} !^/pcs/.*$
RewriteCond %{REMOTE_HOST} !^11\.11\.11\.11
RewriteRule . index.php [L]

太好了,这很有魅力。只是为什么要将$添加到pc/(*)?为什么我觉得QSA主要用于测试?不客气
QSA
(查询字符串附加)标志在添加新查询参数时保留现有查询参数。