我的网址是https://example.com/index.php/foo/bar
我希望example.com中的任何页面都转到https://example.com
我希望浏览器使用主URL更新。这是任何要访问此网站的网址。这可能包括带有查询的网址,即https://example.com/?foo=bar。从字面上看,所有/任何页面都可以转到主页
我已经尝试了无数RewriteRules重定向,但没有一个我想要做的(最接近的是加载index.php,但网址仍然错误)
我想使用.htaccess,但如果在.conf文件中更方便,我会这样做
仅考虑到我可以在index.php文件中执行此操作,方法是检查是否重新加载带有标题的页面(如果页面上有查询)。会推荐吗?
我正在使用ubuntu 16.04 apache 2.4,并且我已经启用了启用所有mod的php 7.1,以处理重定向和重写(网站上装有wordpress,但现在包含即将推出的页面,而没有其他内容了)
htaccess中的当前版本不可用
RewriteEngine On
RewriteBase /
# Make sure there is a query string
RewriteCond %{QUERY_STRING} .
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /? [R=301,L]
这将正确加载带有查询字符串(https://example.com?foo=bar)的url,但是如果我使用https://example.com/index.php/foo/bar脚本并且index.php中的图像未加载,浏览器将不会更新重定向的url /和查询字符串一样,URL在浏览器中保持不变。
答案 0 :(得分:0)
将以下内容添加到index.php的顶部即可解决我的问题,而无需编辑.conf或.htaccess文件
if ( $_SERVER['REQUEST_URI'] != '/index.php' ) {
header("Location: /index.php");
exit(0);
}