Удалить трейлинг сл sh из WordPress - PullRequest
1 голос
/ 18 февраля 2020

Мой адрес веб-сайта

https://lofty-tibiabot.com/new/ Этот веб-сайт находится в подпапках - новый

Я хочу, чтобы адрес был

https://lofty-tibiabot.com/new

  # BEGIN WordPress
    # The directives (lines) between `BEGIN WordPress` and `END WordPress` are
    # dynamically generated, and should only be modified via WordPress filters.
    # Any changes to the directives between these markers will be overwritten.
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /new/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /new/index.php [L]
    </IfModule>
    # END WordPress

что делать?

1 Ответ

0 голосов
/ 19 февраля 2020

Вы уверены?

Это немного запутанно, так как Apache требует завершающий аргумент sh в каталоге для оценки DirectoryIndex et c. Отключив конечный sla sh, мы должны обработать эту ситуацию вручную с помощью mod_rewrite.

Попробуйте выполнить следующее:

1) Move the /new/.htaccess файл в root в /.htaccess. Это убирает .htaccess из WordPress, поэтому WP больше не может поддерживать этот файл (не обязательно плохо).

2) Измените файл /.htaccess на следующий:

# Prevent mod_dir from appending the trailing slash to directories (with a 301 redirect)
DirectorySlash Off

RewriteEngine On
RewriteBase /new

# Allow mod_rewrite to match directories that do not have a trailing slash (when DirecrorySlash Off)
RewriteOptions AllowNoSlash

# Rewrite directory without trailing slash directly to the front-controller
RewriteRule ^new$ index.php [L]

# Standard front-controller
RewriteRule ^new/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^new/. index.php [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...