希望在地址栏中仅显示域名并隐藏所有页面名称和查询字符串


want to show only domain name in addressbar and hide all the pages name and querystrings

我只想在地址栏中显示域名。 我是使用核心PHP编程ND的新手。我的.htaccess代码是:

        <IfModule mod_rewrite.c>
        RewriteBase /
        Options +FollowSymlinks -MultiViews
        RewriteEngine on
        # to make `/path/index.php` to /path/
        RewriteCond %{THE_REQUEST} ^GET's(.*/)index'.php [NC]
        RewriteRule . %1 [NE,R=301,L]
        RewriteCond %{THE_REQUEST} ^GET's.+'.php [NC]
        RewriteRule ^(.+)'.php$ /$1 [NE,R=301,L,NC]
        RewriteCond %{REQUEST_URI} !'.php$ [NC]
        RewriteCond %{REQUEST_FILENAME}.php -f
        RewriteRule . %{REQUEST_URI}.php [L]
        </IfModule>

这工作正常,但它显示的结果是这样的 http://mysite.com/about http://mysite.com profile_view?name=Apoorva%20Chauhan%20GMAIL%20&&%20user_type=User

我只想隐藏完整的网址期望我的域名。 无论我点击哪个链接,URL都应该是这样的 www.mysite.com/。上面的代码只是完全隐藏索引.php。我的项目截止日期已经结束,我在这个主题上浪费了 1 周。但我失败了。请帮助我。提前谢谢。

我使用JavaScript来隐藏或更改整个URL。 它现在工作正常。 但我并不完全满意。

  <script type='text/javascript'>
  if(history.replaceState) history.replaceState({}, "", "/");
  </script>  

注意 : 其中/是您要显示的路径。

无论我单击哪个链接,它都会像mysite.com一样显示url。 但是我在重新加载带有查询字符串的完整url时使用此代码时遇到了此代码问题,该页面会闪烁到地址栏中。

使用document.location.replace('URL');

浏览器不会建立历史记录,并且只会显示基本http://URL/#无论网站内的哪个页面。

我认为

(从描述中不确定)你想要的是一个单页网站。如果是这样的话,你走错了。这不是通过.htaccess实现的,而是通过js/ajax实现的。您可以在此处找到此类 Web 应用程序的示例。