Переписать проблему с косой чертой - PullRequest
4 голосов
/ 09 июня 2010

Вот мой файл .htaccess

Options +FollowSymlinks
RewriteEngine on
ErrorDocument 404 /404.php

RewriteRule ^(\d*)/(.*) /page.php?id=$1&slug=$2

Все отлично работает.Но в тот момент, когда я набираю site.com/342/my-page/ (с косой чертой), я получаю 404.

Мне нужна косая черта как опция.Т.е. он будет перенаправлен на правильную страницу с косой чертой или без нее.

Я пробовал это, но это не сработало

RewriteRule ^(\d*)/(.*)/?$ /page.php?id=$1&slug=$2

Есть идеи?

1 Ответ

6 голосов
/ 09 июня 2010

. * Жадный, так что он съест твой слэш, даже если это не нужно.Вы должны заставить его держаться подальше так:

RewriteRule ^(\d*)/(.*[^/])/?$ /page.php?id=$1&slug=$2

Это гарантирует, что $ 2 никогда не заканчивается косой чертой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...