mod_rewrite добавление косой черты

0

У меня есть много URL-адресов, таких как domain.com/something/<-notice конечная косая черта, индексированная с помощью google, благодаря предыдущему разработчику, реализующему wordpress, который теперь означает, что я застрял, пытаясь сделать много высокоразвитых страниц в SEO перенаправление на новый веб-сайт, который заменит веб-сайт Wordpress и должен иметь одинаковые URL-адреса.

Все на моем новом сайте. У меня есть страница, которая функционирует как уловка и выполняет запрос базы данных, чтобы проверить, существует ли у нас имя члена (//в приведенном выше примере URL) и отображает содержимое в домене.com/что-то

Теперь сначала я подумал, что это было в сумке, выполнив следующие правила перезаписи:

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /membersite.php [L]

Ну, это была половина битвы, когда я получил domain.com/something AND domain.com/something/, отлично работающий, но теперь проблема с этим заключается в том, что у меня есть дублированный контент в глазах Google, один набор контента в домене.com/something И другой в domain.com/something/

Поэтому мне нужно изменить переписывание, чтобы сделать 301 на domain.com/something/на domain.com/something.

Следует также упомянуть, что любые другие несуществующие каталоги или запросы файлов должны быть перенаправлены на domain.com без конечной косой черты.

Кроме того, эта часть работает нормально, но полагаю, что я должен упомянуть страницу membersite.php, которая никогда не отображается в URL-адресе, а вместо этого/что-то, что является страницей профиля пользователя, так что все видят всю картину

  • 0
    Эта ссылка полезна? Обратите внимание, что в этом узле он использует «/?», Вам, вероятно, понадобится что-то без «/»
Теги:
mod-rewrite

1 ответ

0

Полное рабочее решение, которое я, наконец, выяснил, это порядок операций

RewriteEngine On
RewriteOptions inherit

RewriteBase /
RewriteRule ^index\.php$ - [L]

**RewriteRule ^(.+?)/$ $1 [R=301,L] // this part first strips the trailing slash**

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /membersite.php [L] //this part handles internally which file i'm loading from the server to process the request.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню