2013-09-30 8 views
1

Имея Drupal здесь. В этом Drupal есть папка с другим Drupal. Таким образом, в другом Drupal's .htacces база была переписана следующим образом: Rewrite Base /another-drupal и все в порядке.Как перенаправить URL-адрес с конечной точкой?

Теперь печатные приглашения были отправлены клиентам, чтобы посмотреть на другой Drupal через его URL-адрес adrupal.com/another-drupal. И, как сейчас, URL-адрес стоит в конце предложения, и точка выглядит так, как будто это часть URL-адреса. Как перенаправить всех пользователей, которые ввели URL-адрес с конечной точкой, на правильный URL-адрес без конечной точки? И в каком .htaccess я должен это сделать? Родительский Drupal .htacess? Или в другом .htaccess от Drupal?

Я уже пробовал этот подход: Redirect url to home page with trailing dots, но это не сработало. Может быть, потому, что в этом примере у них есть две точки?

+0

избежать точки? – exussum

+0

@ user1281385 точка удаляется, когда путь URI канонизируется, прежде чем он будет перенесен через механизм перезаписи, поэтому вам нужно сопоставить фактический запрос. –

ответ

2

Try:

RewriteCond %{THE_REQUEST} \ /([^\?\ .]*)\.(?:\?|\ |$) 
RewriteRule^/%1 [L,R=301] 
+0

Пробовал! Работает с'adrupal.com/another-drupal/.'(косой чертой), но не работает только с точкой ... – leymannx

+0

Прошу прощения! Попробовал это снова, на этот раз в родительском Drupal's .htaccess, и теперь он работает! В первый раз я попробовал это в другом файле .htaccess от Drupal ... – leymannx

1

Похоже, этого простого правила есть все, что вам нужно:

RewriteRule ^(.+?)\.$ $1 [L,R=301] 

Это удалит завершающий период (точка) из любого URL.

+0

Это тоже сработало! В родительском .htaccess. – leymannx