Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress .htaccess从路径隐藏第一个子目录_Wordpress_.htaccess_Redirect_Url Masking - Fatal编程技术网

Wordpress .htaccess从路径隐藏第一个子目录

Wordpress .htaccess从路径隐藏第一个子目录,wordpress,.htaccess,redirect,url-masking,Wordpress,.htaccess,Redirect,Url Masking,我注意到已经有与我非常相似的问题,这些问题已经在这个网站上得到了回答。 但我一直在苦苦挣扎,没有成功地实施那里提供的解决方案,所以我敢再次提出这个问题。 你能帮忙吗 我在wordpress中开发了一个网站,我将所有内容都放在一个特定的子目录下(不用说,我的主机提供商使用Apache),以便: 所有文件都在/public\u html/es/中(由于某些历史原因,子目录的名称为“es”,我在这里指定它是因为它是一个非常常见的字符串,可能需要非常精确的正则表达式) 一切正常,我可以通过URLwww.

我注意到已经有与我非常相似的问题,这些问题已经在这个网站上得到了回答。 但我一直在苦苦挣扎,没有成功地实施那里提供的解决方案,所以我敢再次提出这个问题。 你能帮忙吗

我在wordpress中开发了一个网站,我将所有内容都放在一个特定的子目录下(不用说,我的主机提供商使用Apache),以便:

  • 所有文件都在/public\u html/es/中(由于某些历史原因,子目录的名称为“es”,我在这里指定它是因为它是一个非常常见的字符串,可能需要非常精确的正则表达式)
  • 一切正常,我可以通过URLwww.example.com/es导航到该网站,然后按照链接,例如www.example.com/es/whatever1/whatever2/
  • 此外,我还实现了一个多语言插件,当我想切换到另一种语言(本例中为意大利语)时,可以将页面显示为www.example.com/es/whatever1/whatever2/?lang=it
  • 最后,我将.htaccess文件编码如下,允许访问者只需键入域名即可访问页面:
  • /public\u 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]
    
    #
    # /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
    
    #
    #/public\u html/.htaccess
    #
    #历史
    #20160309 pdoc(B)添加了允许加载字体图标的代码
    #
    #20160309 pdoc(B)增加了接下来的3行
    标题集访问控制允许原点“*”
    RewriteCond%{HTTP_HOST}^example.com$[或]
    重写cond%{HTTP_HOST}^http://example.com$[或]
    重写cond%{HTTP_HOST}^https://example.com$[或]
    RewriteCond%{HTTP_HOST}^www.example.com$[或]
    重写cond%{HTTP_HOST}^http://www.example.com$
    重写规则^/?$“https\:\/\/www\.example\.com\/es”[R=301,L]
    
    /public\u html/es/.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]
    
    #
    # /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
    
    #
    #/publi\u html/es/.htaccess
    #变化:
    #开始WordPress
    重新启动发动机
    重写基/es/
    重写规则^index\.php$-[L]
    重写cond%{REQUEST_FILENAME}-F
    重写cond%{REQUEST_FILENAME}-D
    重写规则/es/index.php[L]
    #结束WordPress
    
    从技术上讲,它似乎运行良好:您可以通过键入“example.com”来访问该站点,然后在其中导航,因为URL已转换为“example.com/es”

    现在。。。浏览器URL字段中出现的“/es/”字符串令人恼火,有时甚至会产生误导,因为它会让一些访问者相信他们在网站的“西班牙语”版本中,而该字符串只是路径的一部分

    我不想将整个站点移动到/public\u html下的另一个路径,是否有办法从浏览器URL字段中隐藏“/es”字符串? 当然,我只需要隐藏第一次出现的“/es”(即我想要它)

    example.com/es/thesubdirectory/?lang=xx

    显示为

    example.com/thesubdirectory/?lang=xx

    )

    正如最初评论的那样,我无法成功实现在stackoverflow中其他地方找到的任何建议

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