2016-08-25 3 views
0

Когда я ввожу URL в своих браузерах адресной строке в виде https://myurl.com/path, я хотел бы переписывающийся быть https://myurl.com/path/Почему мои URL-адреса не переписываются с косой чертой?

В .htaccess, мои правила перезаписи, как выглядит следующим образом:

#RewriteEngine On 
#RewriteCond %{HTTP_HOST} !^myurl.com$ 
#RewriteRule ^(.*)$ http://myurl.com/$1 [R=301,L] 
#RewriteCond %{SERVER_PORT} 80 
#RewriteRule ^(.*)$ https://myurl.com/$1 [R,L] 
RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule .* https://myurl.com%{REQUEST_URI} [R=301,L] 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L] 
# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

ответ

1

Я В последние пару дней мы проводили довольно много исследований. Похоже, ты рядом. Попробуйте следующее:

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

RewriteCond будет проверять, чтобы убедиться, что нет никаких файлов с таким именем, и если нет, то выполнить RewriteRule. Более надежный, чем ручной список расширений!

Это копия/вставка из следующих вопросов и ответов: Я не настолько хорош в использовании .htaccess, но, как я уже сказал, я проводил много исследований по этому поводу в последние несколько дней. .htaccess Rewrite to Force Trailing Slash at the end

код [R = 301] также добавит 301 редирект на URL для поисковых систем, так что они знают, чтобы посмотреть на полоснул версию страницы в будущем - это помогает уменьшить дублирование контента и консолидации аналитической информации ,

Надеюсь, что это поможет.

+0

Спасибо @MrMr, что сработало :) Я лично не добавлял правила в этот файл .htaccess, кто-то еще сделал, поэтому я не могу взять кредит за близость к решению. Я не уверен, почему .html, все страницы находятся в форме https: // myurl/path/page /. Вы предлагаете заменить следующие строки: 'RewriteCond% {REQUEST_FILENAME} .html -f' и ' RewriteRule!. * \ .html $% {REQUEST_FILENAME} .html [L] 'только? – Mattypants

+0

Единственная проблема, с которой я сейчас сталкиваюсь, - это мой XML-файл Sitemap теперь получает конечную косую черту, т. Е. /sitemap.xml/. Интересно - и, к счастью, файлы в формате pdf не получают завершающего косая черта. – Mattypants

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