我正在尝试重写一些动态页面网址,其中数据是从数据库中获取的,例如“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'
上述RewriteRule中的“ faq_pages.php ”应更改为“ news_pages.php ”。我怎样才能动态地将它用于具有相同htaccess的每个页面,或者如何检查并重写htaccess中不同页面的值。
另外请建议我如何纠正以下代码。
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\.html$ faq_pages.php?page=$1
我需要在地址栏中显示html网址,例如'/testweb/this-is-a-link.html'或'/testweb/faq/this-is-a-link.html'
修改:在Jon Lin的帮助下,我更新了我的代码,如下所示。
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等)未加载。 我该如何解决?
感谢你
答案 0 :(得分:0)
你在找这样的东西吗?
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]