【发布时间】:2016-06-27 22:52:04
【问题描述】:
这可能是一个非常简单的问题,但我在论坛中进行了搜索,但没有找到适合我的答案。如果我可以从不同的线程中解开谜题,它可能就在那里,但重写规则并不是我最好的一面。
所以问题: 我想编写一个 RewriteRule 来清理 url 并将语言检测放在文件之前。 我从论坛中查看了诸如.htaccess for language detection, redirecting + clean urls 和.htaccess rule for language detection 之类的问题。
结合这两者,我提出了一个有时有效有时无效的解决方案。
我的结构:domain.com/subfolder/news.php?lang=en
我想要的是:domain.com/subfolder/en/news
到目前为止我的代码:
RewriteBase /subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Language Detection
RewriteRule ^(en|sv)/(.*)$ $2?lang=$1 [QSA,L]
## Remove .php extensions
RewriteRule ^([^\.]+)$ $1.php [NC,L]`
这在某些路径上确实有效,但并非在所有路径上都有效(它们具有相同的结构)。 我该怎么做这个解决方案?
提前致谢!
【问题讨论】:
标签: .htaccess