我想重寫一些動態頁面的網址,其中數據從像「這是一個鏈接」slu taken的數據庫中獲取。htaccess動態URL重寫與.html擴展基於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 /消息/這個-IS-另一個鏈路', '/ testweb /證明書/測試鏈路'
的 「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」
地址欄編輯:在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等)未加載。 我該如何解決它?
感謝你
嗨,謝謝你的回答。我已經使用RewriteRule^faq /(.*)/$ faq_pages.php?id = $ 1 [QSA]和RewriteRule^faq /(.*)$ faq_pages.php?id = $ 1 [QSA]來重寫testweb/faq/another -faq-test.html /和testweb/faq/another-faq-test.html。請告訴我,如果這是正確的做法。另外請幫我忽略/重寫'faq'文件夾,因爲目前的CSS或圖像沒有加載,因爲URL中有'faq /'。非常感謝 – user2669827
@ user2669827而不是使用2個規則,只需在'/'之後加一個'?'即可。如果你在'/ faq /'中請求一個靜態文件,那麼2個重寫條件會阻止應用該規則 –
嗨,再次感謝。 RewriteRule^faq /(.*)/?$ faq_pages.php?id = $ 1 [QSA]不適用於/testweb/faq/another-faq-test.html/。我只使用'faq /'和'news /'來檢查url並重寫到不同的頁面。我沒有任何有這些名字的文件夾。如何忽略它或指定它們不是目錄..現在URL查找文件夾'faq' – user2669827