我总是发现htaccess是一种黑色艺术:)
我有一个由CMS驱动的站点,该站点在url中有index.php。我通常的htaccess标准足以删除它。
但是,从历史上看,该网站的网址已脱机http://domain.org/index.php?/resources/name-index/a/steven
但是,此网址不再存在,而应指向http://domain.org/pages/steven
除了其他重定向,我添加了
RewriteRule ^resources/name-index/a/steven http://domain.org/pages/steven
然而,当我点击http://domain.org/index.php?/resources/name-index/a/steven时,我们会得到一个404,但是,如果我们点击http://domain.org/resources/name-index/a/steven,它会按照您对新页面的预期重写。
不禁想到存在了?在url中正在破坏规则或者index.php被上面的另一条规则删除的事实(不会认为它会有重要意义)。建议欢迎。
答案 0 :(得分:2)
将此代码放在htaccess的开头(应该在根文件夹中)
RewriteEngine On
RewriteCond %{QUERY_STRING} ^/resources/name-index/a/steven$ [NC]
RewriteRule ^index\.php$ /pages/steven? [R=301,L]