你好我有关于mod_rewrite的以下问题:
我已经构建了一个名为example.php
现在我仍在寻找以下问题的重写:
因为语言不同但网页example.php
的内容相同我希望在用户输入时有一个重写例如site.com/beispiel.php
德语中example
的相同词语是什么。所以只有一页。但是虚构的网址site.com/beispiel.php
将是相同的内容。
所以,如果有人知道如何解决这个问题,我真的很感激。非常感谢。
答案 0 :(得分:0)
我在想它:
如果您使用translate a PHP $string using google translator API
中所示的Google翻译器然后从PHP重定向到
www.yoursite.com/translate.php?translated_language=keyword_from_script
然后使用该参数的最后一个答案的mod_rewrite,它应该有效吗?
答案 1 :(得分:0)
重定向和内部重定向是两回事。
使用代码302或301的HTTP重定向意味着多个HTTP请求,用户最终会看到他已被重定向到/example.php。内部重定向意味着在服务器上为所请求的文件A提供一个文件B,而无需用户知道。
内部重定向不需要mod-rewrite规则。 Alias和AliasMatch指令可用于将一些请求的文件映射到真实文件。
Alias /beispiel.php /path/to/my/docroot/example.php
通过使用Redirect和RedirectMatch指令,也可以在没有mod_rewrite的情况下执行外部重定向。
现在你也可以使用mod_rewrite来执行这两种类型的重定向(内部和外部)。
# internal alias
RewriteRule ^beispiel.php$ /path/to/my/docroot/example.php [L]
# Or external redirection, with a R tag
RewriteRule ^beispiel.php$ example.php [L, NC, R=302]
使用外部重定向qlways首先尝试处理302重定向的一些rewriteRiles。当它工作时,您可以使用301重定向作为浏览器存储301结果,并且在重新启动之前不再询问。
如果您要执行大量的重定向并且没有使用.htaccess文件(即您可以编辑真正的apache配置文件),那么您可以查看RewriteMap以加快您的速度。的RewriteRules。