Назад | Перейти на главную страницу

Как игнорировать часть 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]

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

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

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

Флаг QSA будет «пересылать» параметры в следующий скрипт (например, index.php).