1

「this-is-a-link」のようなスラッグを使用してデータベースからデータを取得する動的ページの URL を書き直そうとしています。

        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

「/testweb/this-is-a-link.html」または「/testweb/faq/this-is-a-link.html」のように、アドレス バーに html の URL を表示する必要があります。

編集: 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 など) が読み込まれません。どうすれば修正できますか?

ありがとうございます

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 に答える