mod_rewrite может только переписывать/перенаправлять запрошенные URI, а не те, которые содержатся в ваших документах HTML. Поэтому сначала вы должны убедиться, что ваше PHP-приложение печатает правильные URI, поэтому /stories/17.html
вместо /stories.php?id=17
.
После этого, вы можете использовать правило, предложенное Хосе Базилио:
RewriteRule ^stories/([0-9]+)\.html$ stories.php?id=$1
Хотя перенаправлять запросы /stories.php?id=17
внешне /stories/17.html
, а затем внутренне обратно /stories.php?id=17
можно, это не хорошая практика, поскольку это привело бы к в два раза больше запросов. Но вот правило, что:
RewriteCond %{THE_REQUEST} ^GET\ /stories\.php[?\s]
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)id=([0-9]+)&*([^&].*)?$
RewriteRule ^stories\.php$ /stories/%3.html?%1%4 [L,R=301]
Не совсем ответ, но ваш сайт выглядит ужасно на моем ноутбуке, с разрешением 1280x800 –
эй Томалак его нормально Теперь – MAX