2017-06-20 146 views
1


做关于如何管理多语言支持的网站快速查找后,我发现site.com/language/page/最巧妙的URL布局。 (因为我没有资金site.language的.htaccess重定向目录到文件具有相同的名称

我已经使用的htaccess的基址从site.com重定向使用到site.com/language/ :RedirectMatch ^/$ /language/,其中“语言”是language.html

但是由于我有一个名为/ language /的目录,以便给定语言中的所有其他页面都可以放入其中,所以该站点只显示为目录的索引。

我怎么能做到那样的布局,如果我想在主索引页在URL作为site.com/language/显示?

,直到我添加了目录工作的罚款当前的htaccess:

## Rewrite Defaults 
RewriteEngine On 

## Remove file extension + force trailing slash 
RewriteCond %{REQUEST_URI} (.*)/$ 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule (.*)/$ $1.html [L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.html -f 
RewriteRule .* %{REQUEST_FILENAME}/ [R=301,L] 

## Redirect to /en-gb 
RedirectMatch ^/$ /en-gb/ 

随着根文件夹看起来像:

/language 
    stuff.html 
    morestuff.html 
language.html 
... 

我会很感激的帮助,因为这是目前一个噩梦的局面。当我尝试编译,并回答类似的问题htaccess的,每个人都有只是我在寻找什么来实现,因此我每次修改打破布局部分...

是否有可能改变后端的文件名,并完成这个布局只使用htaccess进行前端url重写,因为url栏是唯一重要的东西?

回答

1

如果我理解正确的话,你应该能够通过删除线,以解决这个问题:

RewriteCond %{REQUEST_FILENAME} !-d 

让我知道是否可行。

+0

恐怕这仍然导致网站加载作为目录的索引,如果我添加一个文件名的URL后面,它导致: site.com/home/ftpusername/siterootdir/language/filename –

+0

我改组我的目录,以适应和它工作在一定程度上了,所以感谢了一堆了点。 –

+0

很高兴你的工作在一定程度上。也许你可以用新的设置和问题开启另一个问题? – SuperDuperApps

相关问题