2013-04-03 183 views
1

我有以下的网站结构htaccess的重写URL删除HTM扩展

- root 
    - de/ 
    - en/ 

每个文件夹包含一些.htm文件。 E.g

en/products.htm 

mysite.com/en/products.htm 

Insteand我想在URL栏

mysite.com/someEnglishTitle/products 

其实我想relplace一些字符串的语言键显示。我的htaccess的这个样子

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

我加入

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

但是,这是行不通的。任何想法如何解决这一问题?

回答

2

不要在这种情况下 L表示最后使用[L,R],所以以后这一块确实 R表示重定向没有规则的应用,但你不希望这样的事情发生,如果URL是留在浏览器

所以

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

将意味着http://mysite.com/english-books/products会显示文件EN/products.htm的内容而无需在浏览器更改URL。请注意,在开始时没有尾随斜线

0

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

RewriteCond %{REQUEST_URI} ^/([a-z0-9-_]+)/([a-z0-9-_]+)/?$ 
RewriteRule ^(.*) /%1/%2.htm