.html
означает «любой символ, за которым следует буквенная строка html
. Тем не менее, вы хотите быть .htm
. Вы можете избежать период, поставив обратную косую черту перед ним.
.
= Любой символ
\.
= литералом .
символов
Возможно использовать
RewriteRule ^([^/]+)/(.+)\.html?$ /NEW/movie.php?name=$1&id=$2 [L]
Что бы вперед и .html
и .htm
(как l
следует «повторяться 0 или 1 раз»).
Изменения:
[^/]+
вместо [^/]
. Плюс означает «повторяется 1 или более раз». Если у вас этого нет, вы можете разрешить только символ, который не является косой чертой.
(.+)
вместо [^/]
. Поскольку мы не хотим, чтобы он продолжал соответствовать, пока мы не достигли косой черты (поскольку мы не достигнем косой черты), мы используем жадный термин .+
, означающий «соответствовать как можно большему количеству символов, пока вы не достигнете следующей части (будучи \.html?$
) . мы также могли бы использовать [^\.]
, но это означало бы, что мы не могли использовать любые периоды в нашем ID
в качестве альтернативы, если идентификатор может быть только номер:.
RewriteRule ^([^/]+)/([1-9][0-9]*)\.html?$ /NEW/movie.php?name=$1&id=$2 [L]
[1-9][0-9]*
означает «любая цифра между 1 и 9, за которым следует любая цифра между 0-9, повторяющимися 0 до бесконечности раз "
Это работает, но он удаляет NEW Directory из url. URL теперь становится: http://www.movieking.me/Snitch/0882977.htm и теперь отображаются изображения и css? – AXheladini
Но вы написали: 'Я хочу, чтобы он отображался следующим образом: http: // www.example.com/Parker/1904996.htm' Вы хотите: http://www.example.com/NEW/ Паркер/1904996.htm'? – anubhava
Да, это случай, я вижу, что я написал это неправильно, извините – AXheladini