0

重複の可能性:
.htaccess で .php 拡張子を削除する

私は持っている

http://www.example.com/test/categoryform.php

私の .htaccess ファイルで、次のように表示するように書き換えるにはどうすればよいですか。

http://www.example.com/test/categoryform/
4

3 に答える 3

5

このコードを試してください

RewriteEngine On
# turn on the mod_rewrite engine

RewriteCond %{REQUEST_FILENAME}.php -f
# IF the request filename with .php extension is a file which exists
RewriteCond %{REQUEST_URI} !/$
# AND the request is not for a directory
RewriteRule (.*) $1\.php [L]
# redirect to the php script with the requested filename

および.htaccess の質問で.php 拡張子を非表示にする方法も役立ちます

于 2012-08-27T08:43:17.460 に答える
1

末尾のスラッシュを削除するには、条件で一致させる必要があります

RewriteEngine On
# make sure it's not a directory or a file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# match out the request URI without the trailing slash
RewriteCond %{REQUEST_URI} ^/([^/]+?)/?$
# and see if it exists
RewriteCond %{DOCUMENT_ROOT}/%1.php -f

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

しかし、それを表示するには(ブラウザのアドレスバーに表示されるように、次のものが必要です:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.+?)\.php
RewriteRule ^(.+?)\.php$ /$1/ [L,R=301]
于 2012-08-27T08:50:05.237 に答える
1

何千回も聞かれる簡単な質問

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

出典: .htaccess によるファイル拡張子の削除

于 2012-08-27T08:45:03.083 に答える