Как я могу игнорировать часть URL?

Мои текущие правила переписывания выглядят так:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^/video/(.*)$
RewriteRule ^(.*)$ /video/index.php [L]

URL как example.com/video/?p=2231&c=395840&s=849264&l=101641 работает отлично.

По причинам SEO, мне нужно разрешить любую строку между video/ а также ?p=2231&c=395840&s=849264&l=101641, Например, URL example.com/video/string/string/?p=2231&c=395840&s=849264&l=101641 не должен карта /string/string/ к index.php.

Я попробовал следующее правило, но оно не сработало:

RewriteRule ^video/(.+)/(.+)/(.+)$ /video/$3 [L]

Как мне решить это?

1 ответ

Если вам нужны только параметры Query String, вы можете попробовать это RewriteRule:

RewriteRule ^video(.*) /video/index.php [QSA,L]

QSA Flag будет "пересылать" параметры в следующий скрипт (т.е. index.php).

Другие вопросы по тегам