2013-08-29 2 views
-1

Я использую это в моем файле доступа ХТ:использованием Htaccess правила перезаписи для URL

RewriteEngine On   
RewriteRule ^page1$ home.php?id=page1 [N] 

так, когда я иду в domain.com/page это показывает domain.com/home.php?id=page1

как я могу сделать это так, когда добавлено больше страниц, мне не нужно добавлять каждую страницу в файл доступа ht?

так, если страница называется page2 добавляется на сайт, вы можете пойти в domain.com/page2 и он покажет domain.com/home.php?id=page2

, но никаких изменений не внесены в файл Access HT?

+1

это самый longwinded пример перезаписи URL я думаю, что я когда-либо видел. – Prisoner

+1

Есть сотни дубликатов на SO и тысячи в Интернете. _Hint: _ поиск _mod_rewrite_ – Leri

+0

Пожалуйста, пожалуйста, для любви двенадцати лордов кобола, правильно проверьте '$ _GET ['id']' или люди могут включать файлы из любого места на сервере. Прошу вас, пожалуйста. –

ответ

1

Попробуйте

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9\-]+)\.html$ index.php?page=$1 

теперь вы можете использовать простые связи с .html в конце

они будут переведены следующим образом:

exampledomain.com/home.html => exampledomain.com/index.php?page=home 

EDIT

если и не хотите .html изменить вторую строку:

RewriteRule ^([a-zA-Z0-9\-]+)$ index.php?page=$1 
+0

Как я могу сделать это, чтобы в конце концов не было .html? – user2710234

+0

Я обновил уведомление^ проголосовать за полностью оценено :) – marcin

+0

ok классный спасибо. прекрасно работает. содержимое моей страницы хранится в базе данных, поэтому, если im на domain.com/about-us, это будет domain.com/index.php?id=about-us, но на странице index.php у меня есть запрос на выбор который выбирает, где id = '". $ _ GET [" id "].", но его не работающий теперь изменил это – user2710234

Смежные вопросы