簡體   English   中英

如何從目錄及其所有子目錄中刪除所有.php擴展名?

[英]How to remove all .php extension from a dir and all of its subdirectories?

我的網站目錄結構如下:

移動/
包括/
控制器/
包括/
等等...


關於/moving及其所有子目錄,我有以下問題:

  1. 我如何請求沒有.php擴展名的任何php腳本?
  2. 我怎樣才能要求...dir/index.php?q=about只是...dir/about
  3. 我將.htaccess文件放在哪里?

我知道我的第一個問題可能是重復的,但是為了將第二個和第三個問題具體化,我不得不提出這個問題。

使用WampServer 2.0預先致謝。

如果沒有“ .php”擴展名,apache將不會解析您的php腳本。

但是,您可以使用mod_rewrite

該模塊使用基於規則的重寫引擎(基於正則表達式解析器)來動態重寫請求的URL。 它為每個規則支持無限數量的規則和無限數量的附加規則條件,以提供真正靈活而強大的URL操作機制。 URL操作可能取決於服務器變量,環境變量,HTTP標頭或時間戳的各種測試。 甚至可以使用各種格式的外部數據庫查找來實現高度粒度的URL匹配。

此模塊在每個服務器上下文(httpd.conf)和每個目錄上下文(.htaccess)中都對完整URL(包括path-info部分)進行操作,並且可以在結果上生成查詢字符串部分。 重寫的結果可能導致內部子處理,外部請求重定向,甚至導致內部代理吞吐量。內部代理吞吐量。

如果您所有的網站文件都以.php結尾,並且您要刪除.php擴展名,則應創建.htaccess文件,或者如果已經擁有它,則添加以下規則:

RewriteRule ^(([[^ /] + /)* [^。] +)$ /$1.php [L]

假設您的網站頁面是site / about.php,site / contact.php,site / news.php,則上述規則只會將其轉換為site / about,site / contact,site / news

希望能幫助到你!

如果您將mod_rewrite路由非PHP擴展請求發送到正確的請求,則可以將其放在根Web目錄中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM