htaccess多语言重定向错误

时间:2017-06-14 12:49:35

标签: php apache .htaccess redirect mod-rewrite

我有一些问题要写htaccess 两天是我搜索和谷歌找到我的答案,但所有答案都没有解决我的问题!
这是我htaccess的一部分

Options +FollowSymLinks -MultiViews<br/>
RewriteEngine On

用于删除/结束网址

RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*)/$ /$1 [R=301,L,NE]  

用于自动重定向到en / home

RewriteCond %{REQUEST_URI} ^/$  
RewriteRule (.*) http://www.--.com/en/home [R=301,L,NE]  

RewriteCond %{REQUEST_FILENAME} \.(gif|jpeg|png|js|css|swf|php|ico|txt|pdf|xml)$ [OR]  
RewriteCond %{REQUEST_FILENAME} -f [OR]  
RewriteCond %{REQUEST_FILENAME} -d [OR]  
RewriteCond %{REQUEST_FILENAME} -l  
RewriteRule ^ - [L,NE]  

用于将没有lang代码的所有链接重定向到默认语言

RewriteCond %{REQUEST_URI} !^/(?:[a-z]{2})(/|$)  
RewriteRule ^([^/]+(/.*)?)$ /en/$1 [R=301,L,NE]  

重写新闻的网址

RewriteRule ^([a-z]{2})/(news)/([0-9]+).*       $2.php?news_id=$3&lang=$1&%{QUERY_STRING}       [L,NE]        

将/dir/file.php外部重定向到/ dir / file

RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC]  
RewriteRule ^ /%1%2/ [R=302,L,NE]  

在内部转发/ dir / file到/dir/file.php

RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]  
RewriteRule ^(.+?)/?$ $1.php%{QUERY_STRING} [L,NE]  

ErrorDocument 404 http://www.--.com/404.php  
如果打开/关于我们网站自动打开/ en / abput-us,那么一切都可以     也正常工作/ news / 34 / test-news自动将重定向到/ en / news / 34 / test-news
      但我的问题是,如果更改此网址的时间     / en / news / 34 / test-news更改为/ en / news / test-news(删除新闻ID或删除新闻词)而不是打开404错误页面,页面未打开且网址已更改为此
    ?EN /新闻/新新闻25th.php LANG = EN&放大器; LANG = EN&放大器; LANG = EN&放大器; LANG = EN&放大器; LANG = EN&放大器; LANG = EN&放大器; LANG = EN&放大器; LANG = EN&放大器; LANG = EN&放大器; LANG = en&amp; lang = en&amp; lang = en&amp; lang = en&amp; lang = en&amp; lang = en&amp; lang = en&amp; lang = en&amp; lang = en&amp; lang = en&amp; lang = en ****

我的htaccess的哪一部分是错的,任何人都可以帮助我? 谢谢

0 个答案:

没有答案