我正在寻找复制品,但我很难找到我认为应该是一个简单的答案.
添加.php到没有扩展名的任何内容的重写规则是什么?
例子:
www.website.com/styles.css - > www.website.com/styles.css
www.website.com/login - > www.website.com/login.php
谢谢!
以下内容可能适合您的需求:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+)$ $1.php [L]
Run Code Online (Sandbox Code Playgroud)
这将自动将.php扩展名添加到没有扩展名的文件名.它可能会尝试将something.css重命名为something.css.php,但只有在something.css.php存在时才会这样做.
要扩展@quinxorin 的答案,您还可以执行以下操作。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteCond %{REQUEST_FILENAME}\.php ^(.*)\.php(.*)$
RewriteRule .* %1.php?%2 [QSA]
Run Code Online (Sandbox Code Playgroud)
这会将 url 的其余部分附加到结果中。即/page/1234变成/page.php?1234.