mod_rewrite 规则中的两个参数
Two parametrs in mod_rewrite rule
我对 mod_rewrite 规则有疑问。
我正在尝试获取地址:
www.site.com/en/page.html
来自 url
index.php?page=page&lang=en
我已经试了几个小时了,我无法得到...不幸的是,我根本不知道mod_rewrite ...
有人可以指导我找到解决方案吗?
-
彼得
首先,确保在您的 Apache 配置文件中启用了 mod_rewrite。
此外,确保允许 htaccess 文件(AllowOverride All
用于您的文档根文件夹)。
然后,将此代码放入您的 htaccess(必须位于文档根文件夹中)
RewriteEngine On
RewriteRule ^([a-z]{2})/([^/]+)\.html$ /index.php?page=&lang= [L]
此规则允许您到达任何 language/page,例如:
- http://domain.com/en/page.html -->
/index.php?page=page&lang=en
- http://domain.com/fr/something.html -->
/index.php?page=something&lang=fr
如果要限制lang
参数:
仅限英文
RewriteEngine On
RewriteRule ^en/([^/]+)\.html$ /index.php?page=&lang=en [L]
英语和法语(作为示例)
RewriteEngine On
RewriteRule ^(en|fr)/([^/]+)\.html$ /index.php?page=&lang= [L]
感谢您的帮助 - 正是我的意思。
大致已经开始明白是怎么回事了……
从手头的文档我可以处理它:)
-
彼得
我对 mod_rewrite 规则有疑问。 我正在尝试获取地址:
www.site.com/en/page.html
来自 url
index.php?page=page&lang=en
我已经试了几个小时了,我无法得到...不幸的是,我根本不知道mod_rewrite ...
有人可以指导我找到解决方案吗?
- 彼得
首先,确保在您的 Apache 配置文件中启用了 mod_rewrite。
此外,确保允许 htaccess 文件(AllowOverride All
用于您的文档根文件夹)。
然后,将此代码放入您的 htaccess(必须位于文档根文件夹中)
RewriteEngine On
RewriteRule ^([a-z]{2})/([^/]+)\.html$ /index.php?page=&lang= [L]
此规则允许您到达任何 language/page,例如:
- http://domain.com/en/page.html -->
/index.php?page=page&lang=en
- http://domain.com/fr/something.html -->
/index.php?page=something&lang=fr
如果要限制lang
参数:
仅限英文
RewriteEngine On
RewriteRule ^en/([^/]+)\.html$ /index.php?page=&lang=en [L]
英语和法语(作为示例)
RewriteEngine On
RewriteRule ^(en|fr)/([^/]+)\.html$ /index.php?page=&lang= [L]
感谢您的帮助 - 正是我的意思。 大致已经开始明白是怎么回事了…… 从手头的文档我可以处理它:)
- 彼得