刪除.PHP我正在尋找一種方式,而.PHP後無視一切從example.com/test.php/foo/bar
所以example.com/test.php/foo/bar
會變得簡單地從URL中移除「.PHP」 example.com/test/foo/bar
然後在PHP模板中,我可以根據需要搜索並使用foo或bar。我發現刪除.php的所有內容都會干擾最終的變量。
UPDATE:通過從文件名中刪除.php,然後使用ForceType
,我找到了一些成功。雖然它仍然會是很好,如果我能保持PHP擴展,所以我的代碼編輯器知道如何突出語法:)
<FilesMatch "^test$">
ForceType application/x-httpd-php5
</FilesMatch>
更新2 這裏,我已經嘗試使用一些重寫規則一成功,但是當我添加一個尾隨斜線和一些內容後,它會導致500內部服務器錯誤
RewriteEngine On
RewriteBase/
# remove .php; use THE_REQUEST to prevent infinite loops
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
RewriteRule (.*)\.php$ $1 [R=301]
# remove index
RewriteRule (.*)/index$ $1/ [R=301]
# remove slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301]
# add .php to access file, but don't redirect
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
'MultiViews'和PATH_INFO就足夠,或命名腳本SANS擴展和使用'ForceType'會爲好。否則,請詳細說明您試圖獲得任何建議的「RewriteRule」。 – mario
我已經嘗試了幾種RewriteRules,它們都可以很好地用於刪除.php文件,其中有很多規則都是爲了這個目的而編寫的。但是他們都沒有忽略我以後的變量.php – daveJay
ForceType可能工作。我會研究一下。不熟悉MultiView。 – daveJay