Переписать несколько URL с помощью htaccess - PullRequest
0 голосов
/ 18 октября 2018

Я борюсь с этой проблемой уже несколько недель.В консоли поиска Google я получаю много ошибок сканирования при одной и той же проблеме: Google не может найти URL, которые даже не существуют.

Я просмотрел html-код, но с относительными URL все в порядке.И я использую / -base для всех моих внутренних ссылок.Я думаю, что проблема заключается в моем файле .htaccess.

На моем веб-сайте nationleaguevoetbal.nl у меня есть два URL-адреса с различными переписываниями:

  1. / nieuws / item
  2. /wedstrijd / id / land

'land' не используется и предназначен только для хорошего внешнего вида.Теперь консоль поиска Google не может найти, например:

  • / wedstrijd / id / nieuws / item

Она объединяет два URL-адреса там, где их не должно быть.

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ /index.php?pagina=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^nieuws/([^/]+)$ /index.php?pagina=nieuws&item=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^wedstrijd/([^/]+)/([^/]+)$ /index.php pagina=wedstrijd&id=$1&landen=$2 [QSA,L]

Я думал, что QSA решит проблему, но ошибки возвращаются.Можете ли вы помочь мне, пожалуйста?

1 Ответ

0 голосов
/ 18 октября 2018

Имейте это так:

RewriteEngine On

# skip all files and directories from rewrites
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^ - [L]

RewriteRule ^nieuws/([^/]+)/?$ index.php?pagina=nieuws&item=$1 [QSA,L,NC]

RewriteRule ^wedstrijd/([^/]+)/([^/]+)/?$ index.php?pagina=wedstrijd&id=$1&landen=$2 [QSA,L,NC]

RewriteRule ^(.+?)/?$ index.php?pagina=$1 [QSA,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...