1

我想重写这个:

www.mywebsite.com/i.php?photo=1234

www.mywebsite.com/i/1234

谁能帮我用正确的正则表达式.htaccess

4

2 回答 2

2

尝试这个:

RewriteRule ^i/([0-9]+)/?$     i.php?photo=$1     [NC,L]

请记住在声明规则之前打开重写引擎:

RewriteEngine On
于 2013-10-22T15:48:29.710 回答
0

您需要做的第一件事是确保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]
于 2013-10-22T15:56:08.647 回答