【发布时间】:2015-10-19 00:46:33
【问题描述】:
我正在尝试创建一个.htaccess,但我们遇到了一些困难。
以下是我需要的示例,记住所有内容都必须在同一个 URL 上。
1) 每当用户访问网站时,都需要在 URL 的末尾添加 /home/。
Before: http://app.meusite.com/
After: http://app.meusite.com/home/
2) 我希望将所有 URL 都删除 .php。
Before: http://app.meusite.com/login.php
After: http://app.meusite.com/login/
3) 我想要的所有网址如下:
之前:
http://app.meusite.com/usuario-adicionar.php
http://app.meusite.com/usuario-editar.php
http://app.meusite.com/usuario-excluir.php
之后:
http://app.meusite.com/usuario/adicionar/
http://app.meusite.com/usuario/editar/
http://app.meusite.com/usuario/excluir/
只是需要考虑的一个注释......
因为整个网站是多语言的,所以必须都接受参数页面会得到LANG = LANGUAGE(例如:lang = en_US)。
那么以上所有的 URL,也必须接受 GET 封号,并希望保持如下:
http://app.meusite.com/index.php?lang=en_US
http://app.meusite.com/home/en_US/
http://app.meusite.com/login.php?lang=en_US
http://app.meusite.com/login/en_US/
http://app.meusite.com/usuario-adicionar.php?lang=en_US
http://app.meusite.com/usuario/adicionar/en_US/
http://app.meusite.com/usuario-editar.php?lang=en_US
http://app.meusite.com/usuario/editar/en_US/
http://app.meusite.com/usuario-excluir.php?lang=en_US
http://app.meusite.com/usuario/excluir/en_US/
我希望它能理解我的问题。还有,你能帮我做吗?
下面,我的尝试:
Options -MultiViews
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^home\/?(.*)\/?$ index.php?lang=$1 [L]
RewriteRule ^([^/]*)\/?(.*)\/?$ $1.php?lang=$2 [L]
RewriteRule ^([^/]*)\/([^/]*)\/([^/]*)\/?$ $1-$2.php?lang=$3 [L]
【问题讨论】: