htaccess重定向在哪里index.php?存在

时间:2014-08-26 20:25:51

标签: php apache .htaccess mod-rewrite redirect

我总是发现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被上面的另一条规则删除的事实(不会认为它会有重要意义)。

建议欢迎。

1 个答案:

答案 0 :(得分:2)

将此代码放在htaccess的开头(应该在根文件夹中)

RewriteEngine On

RewriteCond %{QUERY_STRING} ^/resources/name-index/a/steven$ [NC]
RewriteRule ^index\.php$ /pages/steven? [R=301,L]