Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 多语言网站修改重写问题_.htaccess_Mod Rewrite_Multilingual_Seo - Fatal编程技术网

.htaccess 多语言网站修改重写问题

.htaccess 多语言网站修改重写问题,.htaccess,mod-rewrite,multilingual,seo,.htaccess,Mod Rewrite,Multilingual,Seo,我有一个修改重写的问题,并没有找到任何解决方案在这里。问题是: 我有两种语言的网站,mod URL应该是这样的: /eng/contact /srp/kontakt /eng/news /srp/vesti /eng/event /srp/najava # news RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ news.php?lang=$1&pagename=$2 [NC,L] # contact RewriteRule

我有一个修改重写的问题,并没有找到任何解决方案在这里。问题是:

我有两种语言的网站,mod URL应该是这样的:

/eng/contact
/srp/kontakt

/eng/news
/srp/vesti

/eng/event
/srp/najava
# news
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ news.php?lang=$1&pagename=$2 [NC,L]

# contact
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ contact.php?lang=$1&pagename=$2 [NC,L]

# event
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ event.php?lang=$1&pagename=$2 [NC,L]
我的重写规则不起作用,因为我遇到了如下.htaccess情况:

/eng/contact
/srp/kontakt

/eng/news
/srp/vesti

/eng/event
/srp/najava
# news
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ news.php?lang=$1&pagename=$2 [NC,L]

# contact
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ contact.php?lang=$1&pagename=$2 [NC,L]

# event
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ event.php?lang=$1&pagename=$2 [NC,L]
我的问题是如何实现上述示例中页面的重写?

我将使用:

RewriteRule ^([^/]+)/([^/]+)/*$ index.php?lang=$1&pagename=$2&%{QUERY_STRING}
然后使用一些简单的switch case include语句将PHP流从index.PHP路由到news.PHP/contact.PHP等:

switch ($_GET['pagename'])
{
    case 'news':
        require_once 'news.php';
        break;
    ...
    ...
}
这还将帮助您开发其他路由相关功能,简化.htaccess文件。这还允许轻松查找子页面的本机子页面名称,如“en/contact”但“pl/kontakt”等


我几乎在我所有的网站上都使用这种方法(例如和)。

谢谢。这很有帮助,但我遇到了一个更复杂的情况:www.website.com/eng/blog/category/page/1 www.website.com/srp/blog/category/page/1,这种情况不适用。