2014-12-09 3 views
0

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

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

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

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

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

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

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

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

+0

ли [эта ссылка] (http://stackoverflow.com/questions/550587/another-mod-rewrite-trailing-slash-question?rq= 1) полезно? Обратите внимание, что в этом узле он использует «/?», Вам, вероятно, понадобится что-то без «/», – Avision

ответ

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. 
Смежные вопросы