1

我正在尝试重写一些动态页面 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 url,例如“/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 等)没有加载。我该如何解决?

感谢您

4

1 回答 1

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]
于 2013-08-19T15:33:57.230 回答