0

我们需要在 htaccess 上创建一个规则,该规则将根据 url 重定向页面。如果 url 的路径或最后一部分只有字母或数字,没有下划线、点、斜线或破折号,我们希望使用找到的字符串并将其作为参数发送到另一个 php 页面,该页面将决定如何使用它。

像这样的东西:

假设这/^([^\.,\-,\_,\/]+)意味着除了'.', '-', '_', '/' and spaces

RewriteRule /^([^\.,\-,\_,\/]+)$ handler.php?alias=$1 [L]

其中 $1 将给我们一个仅包含字母和数字的字符串。

例如:

mysite.com/someone = handler.php?alias=someone

mysite.com/styles.css   or   mysite.com/images/logo.jpg   or   mysite.com/page_2, etc

不会被重定向。

我真的迷失了正则表达式。有任何想法吗?谢谢!

4

2 回答 2

1

你试过这个吗?

RewriteRule ^([a-zA-Z0-9]+)$ handler.php?alias=$1 [L]

或者

RewriteRule ^([a-z0-9]+)$ handler.php?alias=$1 [NC,L]

或者

RewriteRule ^[a-z0-9]+$ handler.php?alias=$0 [NC.L]
于 2013-11-12T23:04:56.160 回答
-1

尝试

RewriteRule ^.*([^\/\.\-_]+)$ handler.php?alias=$1

[编辑]:如果您不想匹配空格(不应该出现在 URL 中,这样商店甚至不会有所作为,但仍然 ^^),请执行

RewriteRule ^.*(\w+)$ handler.php?alias=$1
于 2013-11-12T23:04:27.130 回答