mod_rewrite rewriterule用于相同的内容

时间:2012-07-24 14:31:21

标签: html apache url mod-rewrite

你好我有关于mod_rewrite的以下问题:

我已经构建了一个名为example.php

的页面

现在我仍在寻找以下问题的重写:

因为语言不同但网页example.php的内容相同我希望在用户输入时有一个重写例如site.com/beispiel.php

德语中example的相同词语是什么。所以只有一页。但是虚构的网址site.com/beispiel.php将是相同的内容。

所以,如果有人知道如何解决这个问题,我真的很感激。非常感谢。

2 个答案:

答案 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规则。 AliasAliasMatch指令可用于将一些请求的文件映射到真实文件。

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。