无法想出那些正则表达式。
我有一个带有一些网址重写的.htaccess文件。看看我现在拥有的东西:
RewriteRule ^news news/ [R]
RewriteRule ^news/([-A-z0-9]+)/$ news/$1 [R]
RewriteRule ^news/([-A-z0-9]+)$ index.php?news=$1 [L]
我不认为这是正确的,我的意思是我认为它会更好。
这是他们必须做的事情。
有人可以帮我构建正确的重写吗?
答案 0 :(得分:2)
您可以使用此规则汇总前两个规则:
RewriteRule (.+)/$ /$1 [L,R=301]
这将从请求中删除尾部斜杠。而你的第三条规则看起来很好。预计范围A
- z
不会只包含范围A
- Z
(0x41-0x5A)和a
- z
( 0x61-0x7A)以及这两个范围之间的字符[
,\
,]
,^
,=
和``. I would use
[ -A-Za-z0-9]`而不是。
答案 1 :(得分:0)
这可能有效
RewriteRule ^/news(/)(.+)$ /index.php?news=$2 [L]