Intereting Posts
Zend Framework: как получить мои статусы из твиттера Функция get_status () возвращает 1 вместо true или false, почему? Статическая функция класса доступа через переменную Перемещение базы данных на один домен на другой Манипулировать архивом в памяти с помощью PHP (без создания временного файла на диске) PHP Array – превращение значений массива в ключи Получить полный URL-адрес в PHP для перенаправления на SSL Как показать предупреждение пользователю, если пользователь закрывает браузер? Ошибка «Нет данных», когда у меня есть запрос mysql во время цикла Объединение запроса AND / OR в Laravel Как получить содержимое тела HTTPS с использованием CURL Команда PHP Powershell Производительность PHP file_get_contents () vs readfile () и cat создать db и пользовательский mysql и установить привилегии php Неустранимая ошибка: вызов неопределенной функции mysqli_connect () в … при подключении PHP 5.4.22 и MySQL 5.5 с Apache 2.4.7

URL-код перезаписи для перезаписи

Я работаю на сайте, который находится в php ….. я хочу переписать URL-адрес

eg www.3idiots.co.in/stories.php?id=17 

если я хочу переписать его как

www.3idiots.co.in/stories/17.html

может ли кто-нибудь сказать мне код для этого, чтобы записать файл .htaccess.?

Я предполагаю, что вы используете Apache с mod_rewrite. Что-то вроде

 RewriteEngine On RewriteRule ^/stories/([0-9]+)\.html /stories.php?id=$1 

должен сделать трюк. Конечно, вам нужно убедиться, что RewriteRule разрешен в этом каталоге. См. Эту страницу wiki для получения дополнительной информации.

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 возможно, это не очень хорошая практика, так как это приведет к /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]