[英]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]
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.