Мод переписать URL с - PullRequest
       10

Мод переписать URL с

1 голос
/ 28 мая 2010

Я здесь в своем уме, я обычно люблю все решать самостоятельно, но это меня хорошо и по-настоящему побеждает здесь .. Я пытаюсь мод переписать мои URL, которые содержат плюсы ...

/ search.php? Д = может быть + + + любой длины

до

/ может-быть любой-length.html

Любая помощь будет очень признательна, потому что переписать + php не вариант

Ответы [ 2 ]

2 голосов
/ 28 мая 2010

Использование mod_rewrite для такого рода работ - не лучший вариант, поскольку вы можете заменить только фиксированное количество символов одновременно. Использование PHP, безусловно, будет проще.

Но вы можете использовать флаг "N" (Next) , чтобы возобновить замену, вызывая цикл перезаписи, пока в строке запроса есть "+":

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)q=([^&+]*)\+([^&+]*\+.*)
RewriteRule ^ %{REQUEST_URI}?%1q=%3-%4 [N]
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)q=([^&+]*)\+([^&+]*)&*(.*)$
RewriteRule ^ /%3-%4.html?%1%5 [L,R=301]
1 голос
/ 28 мая 2010

Может быть, с RewriteMap:

RewriteMap mymap txt:/path/to/file.txt
RewriteRule ^(.*).html$ search.php?q=${mymap:$1}

Содержимое файла /path/to/file.txt

- +
...