Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
.htaccess 如何在.htacces文件中模拟子域/语言_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess 如何在.htacces文件中模拟子域/语言

.htaccess 如何在.htacces文件中模拟子域/语言,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我一直在寻找一些方法来实现企业版GTranslate的语言子域行为,现在已经接近尾声 基本上,如果你想要像fr.domain.com、es.domain.com、de.domain.com这样的子域 对于PRO版本(通用实现),则应该有一种方法通过修改.htaccess文件来处理此问题 这并不完全正确,但即将实现——例如,如果您希望德语为“de.domain.com”,可能会有如下修改: RewriteCond %{THE_REQUEST} !^[A-Z]+\ /gtranslate/ Rewr

我一直在寻找一些方法来实现企业版GTranslate的语言子域行为,现在已经接近尾声

基本上,如果你想要像fr.domain.com、es.domain.com、de.domain.com这样的子域 对于PRO版本(通用实现),则应该有一种方法通过修改.htaccess文件来处理此问题

这并不完全正确,但即将实现——例如,如果您希望德语为“de.domain.com”,可能会有如下修改:

RewriteCond %{THE_REQUEST} !^[A-Z]+\ /gtranslate/
RewriteRule ^(.*)$ http://de.domain.com/gtranslate/translate.php?lang=de&url=$1 [NC,L,R=301]
条件是防止递归。。。这似乎很接近,但问题是浏览器中的URL现在显示的是
de.domain.com/gtranslate/translate.php?lang=de&URL=about.html
,而不是所需的
de.domain.com/about.html

必须有一种方法来处理这个问题,这样我们才能模仿这种行为

动机:也许我应该在上面说出来

  • 我使用的是Joomla的通用版本-似乎大部分时间都能正常工作,但在表单提交过程中它会释放语言,因为表单的重定向(POST?)会释放语言代码(通常是URL的两个字母前缀)
  • 如果我能够在每个子域中保留一种语言,那么我似乎能够在提交表单时正确地保留该语言(以及使用子域来反映该语言的潜在“精确性”——甚至可以是国家名称)
  • 有谁想尝试一下这一点吗

    必须有一种方法来处理这个问题,这样我们才能模仿它 行为


    不。一旦你做了一个
    301
    这是一个完整的重定向,所以URL会被修改,不幸的是,你无法避免这一点。

    所以…也许不是301。还有其他方法吗?