我在寻找编写.htaccess重定向的正确方法时遇到了麻烦。
我想无形地重定向子目录中的任何页面:
http://my-site.com/test/any_page.php
到
http://my-site.com/AIMS/rewrite.php
但是,我不想重定向根子目录:
上面的网址不应重定向。我的规则的问题是它重定向任何页面,以及子目录的根目录。
对于该特定案例,我找不到任何已经提出的问题。在此先感谢您对我可能做错的任何提示。
这是我的规则:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^my-site.com$ [NC]
RewriteRule ^(.*)$ http://my-site.com/$1 [L,R=301]
RewriteRule ^test/(.*)$ /AIMS/rewrite.php?data=$1 [NC,L]
</IfModule>
在您的重写中,您使用的是正则表达式.*
,这意味着匹配零个或多个字符-您想匹配一个或多个字符。
将其更改为以下应该可以解决问题:
RewriteRule ^test/(.+)$ /AIMS/rewrite.php?data=$1 [NC,L]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句