Ada*_*eld 4 php regex apache .htaccess mod-rewrite
我还想301重定向任何结尾的网址.php.然后我在内部将任何以a结尾的内容重定向/到/加号之前的名称.php.这些都是独一无二的.但把它们放在同一个.htaccess我得到一个The page isn't redirecting properly.
我在这做错了什么?
RewriteRule ^(.*)\.php$ /$1/ [R=301,L]
RewriteRule ^(.*)/$ $1.php [QSA,L]
Run Code Online (Sandbox Code Playgroud)
这些规则适合您:
RewriteEngine On
## Adding a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule . %{REQUEST_URI}/ [L,R=301]
## hide .php extension
# To externally redirect /dir/file.php to /dir/file
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1/ [R=301,L,NE]
# To internally forward /dir/file/ to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]
Run Code Online (Sandbox Code Playgroud)