簡體   English   中英

如何編輯.htaccess刪除.php

[英]How to edit .htaccess to remove .php

我所有的頁面均以.php結尾,即使URL欄中的擴展名已更改,我仍需要這些頁面才能運行PHP。 我想要一個類似的頁面

website.com/page.php

website.com/page

我研究了六種解決此問題的方法,但是似乎都沒有。 這里有些例子。

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L, QSA]

RewriteEngine On
RewriteRule \/([^\/]+)\/$ $1.php

# once per htaccess file
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9-_]+)/?$ /$1.php
RewriteCond %{REQUEST_URI} !^/shopName1.php$
RewriteRule ^([a-z0-9-_]+).php$ /$1/ [R]
RewriteRule ^shops/shopName1/?$ /shopName1.php
RewriteRule ^shopName1.php$ /shops/shopName1/ [R]

隱藏.php擴展名

RewriteEngine On
RewriteCond /%{REQUEST_FILENAME}.php -f
RewriteRule ^([a-zA-Z0-9_-\s]+)/$ /$1.php

說明如何運作

答。 此規則將匹配url.com/path/並檢查url.com/path.php是否存在。 如果文件存在,則需要執行重寫規則。

目前,我已使用此規則完美工作,希望對您有所幫助!


更新

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

在上面的代碼中, -d定義目錄, -f定義常規文件。

該規則與上述相同,但支持字母數字URL 上面的代碼已經過測試,並且可以與我的服務器文件正常工作。

示例:如果您的文件名是“ www.url.com/path1.php”,那么您可以直接通過“ www.url.com/path1”訪問該文件。

嘗試這個

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^\\.]+)$ $1.php [NC,L]

只需建立一個名為page的目錄,並將page.php重命名為index.php並放入/ page中。 如果您需要動態目錄(例如/ product5運行details.php?productid = 5), 那么 .htaccess解決方案將非常有用。

暫無
暫無

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

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