如何在.htaccess中创建一个简单的Mod_Rewrite

时间:2011-02-14 00:36:19

标签: apache .htaccess mod-rewrite

我的共享主机帐户有问题。 apache服务器我正在使用扰乱utf8所以我不能在网址中使用希伯来语/阿拉伯语,例如www.mydomain.com/אבא。php

所以我想知道如果有人要求提供该页面我该怎么做: 的 www.mydomain.com/%D7%90%D7%91%D7%90.php

他会到页面:www.mydomain.com/ D790D791D790.php (没有百分比) 但是他的浏览器网址会显示他要求的第一页(没有重定向)。

我想在.htaccess中使用mod_rewrite但不知道如何处理这个问题。 请帮助你们,这对我来说是911。

1 个答案:

答案 0 :(得分:0)

我一直在考虑这个问题,除非你知道有多少套(在你的例子中有6套),我认为不会有一种非常优雅的方式来做到这一点。一种解决方案可能是使用相当模糊的重写RewriteRule ^(.*?%.*?)\.php$ foo.php?bar=$1然后在PHP中处理数据,您可以在其中获得更多选项和更多灵活性。

正则表达式的详细信息:

^.*?%.*?\.php$

Options: case insensitive

Assert position at the beginning of the string «^»
Match any single character that is not a line break character «.*?»
   Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
Match the character “%” literally «%»
Match any single character that is not a line break character «.*?»
   Between zero and unlimited times, as few times as possible, expanding as needed (lazy) «*?»
Match the character “.” literally «\.»
Match the characters “php” literally «php»
Assert position at the end of the string (or before the line break at the end of the string, if any) «$»

Created with RegexBuddy