.htaccess隐藏路径中的第一个子目录

时间:2017-01-14 23:22:20

标签: wordpress .htaccess redirect url-masking

我注意到我的问题已经非常类似,已在本网站上得到解答。 但是,如果没有成功实施那里提供的解决方案,我一直在努力奋斗,所以我敢再提出这个问题。 你能帮忙吗?

我已经在wordpress中开发了一个网站,我把所有东西放在一个特定的子目录下(我的主机提供商使用Apache,不用说),所以:

  1. 所有文件都在 / public_html / es / 中(由于某些历史原因,子目录的名称是“es”,我只是在这里指定它,因为它是一个非常常见的字符串,可能需要非常准确的正则表达式。
  2. 一切正常,我可以通过网址 www.example.com/es 导航到该网站,然后点击链接,例如 www.example.com/es/ whatever1 / whatever2 /
  3. 此外,我已经实现了一个多语言插件,当我想切换到另一种语言时,页面可以显示为 www.example.com/es/whatever1/whatever2/?lang=it 这个例子中的意大利语。)
  4. 最后,我将 .htaccess 文件编码如下,以允许访问者只需输入域名即可访问该页面:
  5. /public_html/.htaccess

    #
    # /public_html/.htaccess
    #
    # HISTORY
    # 20160309 pdoc (B) ADDED CODE TO ALLOW LOADING OF FONT-AWESONE ICONS ALSO 
    #
    
    # 20160309 pdoc (B) added next 3 lines
    <FilesMatch ".(eot|ttf|otf|woff)">                  
        Header set Access-Control-Allow-Origin "*"  
    </FilesMatch>
    
    RewriteCond %{HTTP_HOST} ^example.com$ [OR]
    RewriteCond %{HTTP_HOST} ^http://example.com$ [OR]
    RewriteCond %{HTTP_HOST} ^https://example.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www.example.com$ [OR]
    RewriteCond %{HTTP_HOST} ^http://www.example.com$
    RewriteRule ^/?$ "https\:\/\/www\.example\.com\/es" [R=301,L]
    

    /public_html/es/.htaccess

    #
    # /publi_html/es/.htaccess
    # CHANGES:
    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /es/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /es/index.php [L]
    </IfModule>
    # END WordPress
    

    从技术上讲,它似乎工作正常:您可以通过键入“example.com”访问该网站,然后浏览它,因为该URL转换为“example.com/es”。

    现在......浏览器网址字段中显示的“ / es / ”字符串很烦人,有时会产生误导,因为这会让一些访问者认为他们处于“西班牙语”版本该网站,而该字符串只是路径的一部分。

    我不想将整个网站移到 / public_html 下的其他路径,有没有办法可以隐藏浏览器网址中的“ / es ”字符串领域? 当然,我只需要隐藏第一次出现的“/ es”(即我想要那个

      

    example.com/的 ES /日的 ES ubdirectory /?郎= XX

    显示为

      

    example.com/th的 ES ubdirectory /?郎= XX

    )。

    最初评论说,我无法成功实现我在stackoverflow中找到的任何建议。

    非常感谢您耐心阅读这篇长篇文章。

0 个答案:

没有答案