htaccess для динамического перезаписи URL с расширением.html на основе выбора URL
Я пытаюсь переписать какой-то динамический URL-адрес страницы, в которой данные берутся из базы данных с помощью slug вроде "this-is-a-link".
Options +FollowSymlinks
RewriteEngine On
RewriteBase /testweb/
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^(.*)$ faq_pages.php?page=$1 [QSA,L]
Он отлично работает с http://www.test.com/testweb/this-is-a-link
Но мне нужно изменить правило перезаписи, основываясь на любой ссылке, нажатой ниже.
http://www.test.com/testweb/faq/this-is-a-link, 'testweb / news / this-is-another-link', '/ testweb / testimonials / test-link'
"Faq_pages.php" в приведенном выше RewriteRule должен быть изменен на "news_pages.php". Как я могу иметь это динамически, чтобы я мог использовать для каждой страницы с тем же htaccess или как я могу проверить и переписать значение на разных страницах в htaccess.
Также, пожалуйста, посоветуйте мне, как исправить приведенный ниже код.
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\.html$ faq_pages.php?page=$1
Мне нужно показать URL-адреса html в адресной строке, например "/testweb/this-is-a-link.html" или "/testweb/faq/this-is-a-link.html".
Изменить: с помощью Джона Лин я обновил мои коды, как показано ниже.
Options +FollowSymlinks
RewriteEngine On
RewriteBase /testweb/
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^faq/(.*?)/?$ faq_pages.php?page=$1 [QSA]
Теперь оба следующих условия работают: /testweb/faq/another-faq-test.html,
/testweb/faq/another-faq-test.html/
Поскольку у меня нет подпапки с именем faq, файлы шаблонов (images/css/js и т. Д.) В корневой папке не загружаются. Как я могу это исправить?
Благодарю вас
1 ответ
Вы ищете что-то подобное?
Options +FollowSymlinks
RewriteEngine On
RewriteBase /testweb/
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^faq/(.*)$ faq_pages.php?page=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^news/(.*)$ news_pages.php?page=$1 [QSA,L]