1

我有以下网站结构

- root 
    - de/
    - en/

每个文件夹都包含一些 .htm 文件。例如

en/products.htm

代替

mysite.com/en/products.htm 

我想在网址栏中显示

mysite.com/someEnglishTitle/products

其实我想用一些字符串来替换语言键。我的 htaccess 看起来像这样

RewriteEngine On
RewriteBase / 
RewriteRule ^/?$ /en/index.htm [L,R]

我补充说

RewriteRule ^/english-books/products$ /en/products.htm [L,R]

但这不起作用。任何想法如何解决这一问题?

4

2 回答 2

2

在这种情况下不要使用 [L,R] L 表示 Last,因此在此 R 表示 Redirect 之后不再应用更多规则,但如果 URL 要留在浏览器中,您不希望这种情况发生

所以

RewriteRule ^english-books/products$ /en/products.htm

这意味着http://mysite.com/english-books/products将显示文件 en/products.htm 的内容,而无需更改浏览器中的 URL。注意开头没有斜杠

于 2013-04-03T13:51:30.590 回答
0

你的意思是你想重写/$var1/$var2然后/$var1/$var2.htm试试这个:

RewriteCond %{REQUEST_URI} ^/([a-z0-9-_]+)/([a-z0-9-_]+)/?$
RewriteRule ^(.*) /%1/%2.htm
于 2013-04-03T14:00:47.507 回答