【发布时间】:2013-08-19 08:53:18
【问题描述】:
我正在尝试重写一些动态页面 url,其中数据是从数据库中获取的,例如“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 等)没有加载。 我该如何解决?
谢谢你
【问题讨论】:
标签: .htaccess mod-rewrite url-rewriting dynamic-url htmlextensions