0

URL から Web ページの拡張子を削除したいのですが、誰かが .htaccess のコードを教えてくれました。しかし、書き換えモジュールをオンにすると localhost で動作します。 example.com/cool.php から example.com/cool.... にアクセスして、godaddy 書き換えモジュールについても助けてください。以下は、男が私にくれたコードです..ありがとう

RewriteEngine On
RewriteBase /

# remove enter code here.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]
4

1 に答える 1

1

「きれいな」URL ( example.com/cool) を表示したいが、元の要求からデータを取得したい ( ) と仮定するとexample.com/cool.php、ルート ディレクトリの .htaccess ファイルでこれを試すことができます。

任意のディレクトリの php ファイルで動作するように更新されました。

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /

# Get the URI-path directly from THE_REQUEST variable
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\s/(.*)\.php [NC]
# Strip the extension and redirect permanently
RewriteRule  .*   /%2   [R=301,L,NC]

# Now the browser's address bar shows: http://example.com/cool

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.php  [NC]
# Map internally to the original resource
RewriteRule  ^(.*)/?   /$1.php  [L,NC]

# Maps silently to: http://example.com/cool.php
于 2013-04-14T07:33:29.547 に答える