从 URL 中删除 .php 但它仍应指向原始文件(mod-重写)
Remove .php from URL but it should still be pointing towards the original file (mod-rewrite)
亲爱的程序员朋友们
我对网络开发还很陌生。特别是对于 .htacces 文件。所以我正在开发一个网页,我想删除 .php 文件扩展名。它适用于 html 但不适用于 php 扩展,如果我为它使用相同的代码。
我想要实现的是当用户被重定向到 https://website.com/pong.php the URL gets changed to: https://website.com/pong 时。但是 URL 应该仍然指向第一个 URL。 HTML 个文件也是如此。
这就是我删除 html 扩展名的代码。还有一行自动将页面重定向到https协议(第3行)
Options +MultiViews
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .html [NC,L]
我尝试使用此方法删除 php,但没有成功。这是我添加到代码中的行。
RewriteRule ^([^\.]+)$ .php [NC,L]
我试过这个问题的答案:
但是当我试图打开页面时它产生了这个错误:ERR_TOO_MANY_REDIRECTS
在此先感谢您的帮助
根据您展示的示例,请您尝试以下操作。
请确保在测试您的 URL 之前清除浏览器缓存。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ .php [NC,L]
RewriteRule ^([^\.]+)$ .html [NC,L]
亲爱的程序员朋友们
我对网络开发还很陌生。特别是对于 .htacces 文件。所以我正在开发一个网页,我想删除 .php 文件扩展名。它适用于 html 但不适用于 php 扩展,如果我为它使用相同的代码。
我想要实现的是当用户被重定向到 https://website.com/pong.php the URL gets changed to: https://website.com/pong 时。但是 URL 应该仍然指向第一个 URL。 HTML 个文件也是如此。
这就是我删除 html 扩展名的代码。还有一行自动将页面重定向到https协议(第3行)
Options +MultiViews
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .html [NC,L]
我尝试使用此方法删除 php,但没有成功。这是我添加到代码中的行。
RewriteRule ^([^\.]+)$ .php [NC,L]
我试过这个问题的答案:
但是当我试图打开页面时它产生了这个错误:ERR_TOO_MANY_REDIRECTS
在此先感谢您的帮助
根据您展示的示例,请您尝试以下操作。 请确保在测试您的 URL 之前清除浏览器缓存。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ .php [NC,L]
RewriteRule ^([^\.]+)$ .html [NC,L]