I have some issue to write htaccess.
for two days is i searching and google to found my answer but all answers not solved my issue!
this is part of my htaccess
Options +FollowSymLinks -MultiViews<br/>
RewriteEngine On
for remove / end of url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L,NE]
for auto redirect to 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]
for redirect all links without lang code to default language
RewriteCond %{REQUEST_URI} !^/(?:[a-z]{2})(/|$)
RewriteRule ^([^/]+(/.*)?)$ /en/$1 [R=301,L,NE]
rewrite url for news
RewriteRule ^([a-z]{2})/(news)/([0-9]+).* $2.php?news_id=$3&lang=$1&%{QUERY_STRING} [L,NE]
To externally redirect /dir/file.php to /dir/file
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1%2/ [R=302,L,NE]
To internally forward /dir/file to /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
everything is ok for exp if open /about-us site automatic will open /en/abput-us
also work correctly for /news/34/test-news automatic will redirect to /en/news/34/test-news
but my problem is when if change the url for this
/en/news/34/test-news change to /en/news/test-news (remove news id or remove news word) instead open 404 error page, page not open and url changed to this
en/news/new-news-25th.php?lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en&lang=en ****
What part of my htaccess is wrong, Anyone can help me? Thank you