复杂Index.php的重定向?

时间:2014-02-17 06:36:46

标签: php apache .htaccess mod-rewrite redirect

  

您好我有一个网站,我使用了一些htaccess重定向代码来制作SEO和用户友好的URL

     

这是htaccess代码

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index\.php [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.niresh12495.com/ [R=301,L] 

The Second Code is used to redirect /index.php to root 

at the same time urls like http://www.niresh12495.com/index.php?app=upload are not 
user friendly

但是www.niresh12495.com/index.php?未重定向到主页www.nresh12495.com /

我已经尝试了一些其他的htaccess代码来删除index.php,它们会产生像

这样的网址

www.niresh12495.com/?app=core&module=global&section=login

而不是

www.niresh12495.com/index.php?app=core&module=global&section=login

如果网址改变如上,没有人可以登录甚至创建新主题,这就是问题

如何在不弄乱论坛登录和发布问题的情况下将http://www.niresh12495.com/index.php?重定向到root

1 个答案:

答案 0 :(得分:1)

您可以遵守以下规则:

RewriteCond %{THE_REQUEST} \s/index\.php[\s?] [NC]
RewriteRule ^index\.php$ /? [NC,R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule . /index\.php [L]
最后

?将删除任何现有的查询字符串。