我需要採取以下刪除PHP擴展和替換/帶問號
http://localhost/gbm/file/services
的URL並將其發送給
http://localhost/gbm/file.php?param=services
隨着代碼在.htaccess我有現在,它只是刪除.php
擴展名,但不替換/
並將其他字符串添加到id=
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /gbm/
## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]
## hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
# To remove www header
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
RewriteRule ^gbm/(\w+)/(.*) /gbm/$1.php/?param=$2
嘗試更換[L](最後)使用[QSA(查詢字符串追加)標誌是這樣的:'重寫規則^(。*?)/ $ $ 1嗎?。 php [QSA]' - [L]標誌告訴服務器停止處理規則,所以它沒有達到最後一個規則,它應該追加'param'來查詢字符串 – Kleskowy
但是,它並沒有將參數追加到查詢字符串 –