我想重写这个:
www.mywebsite.com/i.php?photo=1234
至
www.mywebsite.com/i/1234
谁能帮我用正确的正则表达式.htaccess
尝试这个:
RewriteRule ^i/([0-9]+)/?$ i.php?photo=$1 [NC,L]
请记住在声明规则之前打开重写引擎:
RewriteEngine On
您需要做的第一件事是确保Multiviews
已关闭,因为您有一个 URI/i/
以及一个名为/i.php
. 多视图和 mod_negotiation 将绕过 mod_rewrite 并且您的规则将被跳过。
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteRule ^i/([0-9]+)/?$ /i.php?photo=$1 [L,QSA]
对于重定向您无法控制的链接:
RewriteCond %{THE_REQUEST} \ /+i\.php\?photo=([^&\ ]+)
RewriteRule ^ /i/%1/ [L,R=301]