2014-02-01 2 views
2

У меня есть небольшая информационная веб-страница, которая может быть просмотрена как на японском, так и на английском языке (по умолчанию используется японский язык). Это технически только один php-файл, просто переключая язык контента на основе URL-адреса.htaccess force www, удалить «index.php», создать чистый URL-адрес и добавить обратную косую черту

Я хочу заставить www и заставить трейлинг-косую черту на обеих языковых версиях. Японская страница по умолчанию я просто хочу, чтобы просто показать основной URL сайта, как показано ниже:

http://www.mydomain.com/ 

Тогда на английской версии, я хочу, чтобы перейти к URL, как показано ниже:

http://www.mydomain.com/en/ 

Я не могу понять, как заставить обратную косую черту, и когда я тестирую ее с чем-то вроде http://www.mydomain.com/en/index.php, , она меняет ее на http://www.mydomain.com/en?en.

Мой текущий файл .htaccess выглядит то, что я ниже:

RewriteEngine on 
RewriteBase/

#Redirect all non-www traffic to the www version of site 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

#Remove 'index.php' from requests 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?$1 [L,QSA] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC] 
RewriteRule^%1 [R=301,L] 

#Force clean URLs 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/(index\.php)?\?l=(en)$ [NC] 
RewriteRule^%1\/%3\/ [R=301,L] 

ответ

0

Вы можете вставить это новое правило, чуть ниже первого www правила для выгонки слэш:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule . %{REQUEST_URI}/ [L,R=301] 
+0

Спасибо это то, что мне было нужно ! – dapperdanman1400

+0

Добро пожаловать, рад, что все получилось. – anubhava

Смежные вопросы