Я только что потратил на это последние 10 часов своей жизни и бегаю по кругу, так что надеялся, что кто-нибудь сможет мне помочь.
Я хочу, чтобы конкретный URL-адрес загружался следующим образом:
Когда URL-адрес в таком формате встречается, я бы хотел переписать его, чтобы он попадал на сервер, как:
http://example.com/generate.php?f=2011/image.png&attribute=small
Исходя из вышесказанного, у меня двоякий вопрос:
RewriteEngine On
# If it's not an existing file...
RewriteCond %{REQUEST_FILENAME} !-f
# ...and it's not an existing directory...
RewriteCond %{REQUEST_FILENAME} !-d
# ...and it starts with "f/" then rewrite it to generate.php
RewriteRule ^f/(.*)$ generate.php?f=$1 [L,QSA]
Два RewriteCond
можно не указывать. Больше информации:
RewriteEngine On
RewriteRule ^([a-z]+)/([0-9]+)/image.png?attribute=small$ generate.php?f=$2/image.png&attribute=small&%{QUERY_STRING} [L]
Вот тот, у кого больше шансов работать:
RewriteEngine On
# If it's not an existing file...
RewriteCond %{REQUEST_FILENAME} !-f
# ...and it's not an existing directory...
RewriteCond %{REQUEST_FILENAME} !-d
# ...and it starts with "f/" then rewrite it to generate.php
RewriteRule ^([a-z]+)/([0-9]+)/image\.png$ /generate.php?f=$1 [QSA,L]
Скажите, пожалуйста, работает ли