我有以下网站结构
- root
- de/
- en/
每个文件夹都包含一些.htm文件。 E.g
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]
但这不起作用。任何想法如何解决这个问题?
答案 0 :(得分:2)
在这种情况下不要使用[L,R] L表示Last,因此在此之后不再应用规则 R表示重定向,但如果URL要保留在浏览器中,您不希望发生这种情况
所以
RewriteRule ^english-books/products$ /en/products.htm
意味着http://mysite.com/english-books/products将显示文件en / products.htm的内容而不更改浏览器中的URL。请注意,开头没有尾部斜杠
答案 1 :(得分:0)
您的意思是想要将/$var1/$var2
重写为/$var1/$var2.htm
,然后尝试以下内容:
RewriteCond %{REQUEST_URI} ^/([a-z0-9-_]+)/([a-z0-9-_]+)/?$
RewriteRule ^(.*) /%1/%2.htm