.htaccess -永久重定向到根当网站访问mysite.com/index.php没有查询字符串参数?



我在我的网站上使用一个模板。这个模板的设计方式是,所有内容都在index.php文件中,但函数是基于查询字符串执行的,该字符串坚持到index.php文件。

我想永久重定向到根mysite.com时,我的网站访问index.php没有查询字符串参数,但如果有任何查询字符串参数,那么它不应该被重定向,应该保持不变。

为了实现这一点,这是我在.htaccess文件中添加的内容,但它会影响查询字符串,并且网站无法正确导航。

...
RewriteCond %{THE_REQUEST} ^.*/index.php 
RewriteRule ^(.*)index.php$ /$1 [R=301,L]
...

谢谢你的帮助。

RewriteCond %{THE_REQUEST} ^.*/index.php 
RewriteRule ^(.*)index.php$ /$1 [R=301,L]

正则表达式^.*/index.php匹配index.php后面的任何内容,其中自然包括查询字符串。

如果在文档根目录中始终是index.php,那么上述可以进一步简化,因为在url路径中永远不会有/index.php之前的任何内容。

试试下面的命令:

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

注意空格s)在前面的CondPattern中的index.php之后,表示URL的结束。

先测试302(临时)重定向,以避免潜在的缓存问题。您需要在测试前清除浏览器缓存,因为错误的301将被缓存。

相关内容

  • 没有找到相关文章

最新更新