gpt4 book ai didi

php - 从 URL 中删除 .php

转载 作者:可可西里 更新时间:2023-10-31 22:10:53 25 4
gpt4 key购买 nike

Ubuntu 14.04LTS 32 位

我知道这是一个老问题但是..

我需要它从可见 url 中找到的任何地方删除 .php。它需要与/showthread.php?id=XX 一起工作 --->/showthread?id=XX

我什至不能让它与 /page.php 一起工作 --> /page。我试过这些:

Remove .php extension with .htaccess

How to hide the .html extension with Apache mod_rewrite

Remove .php from urls with htaccess

How to stop .htaccess loop

它什么都不做。而其他 .htaccess 代码工作正常..

同时

<?php 
phpinfo();

列出加载模块中的 mod_rewrite

<?php
if(!function_exists('apache_get_modules') ){ phpinfo(); exit; }
$res = 'Module Unavailable';
if(in_array('mod_rewrite',apache_get_modules()))
$res = 'Module Available';
?>
<html>
<head>
<body>
<p><?php echo apache_get_version(),"</p><p>mod_rewrite $res"; ?></p>
</body>
</html>

返回模块可用

尝试了很多东西

# Apache Rewrite Rules
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]

# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php

# End of Apache Rewrite Rules
</IfModule>

#

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]

#

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

即使这样也没有任何效果:

RewriteRule ^page$ page.php [L]

sudo service apache2 restart 没有任何改变。

服务器重启没有任何改变。

我尝试清除里面的其他代码,没有做任何改变。

我清除了浏览器缓存 100 次

我开始觉得它只是讨厌我。可能是什么原因造成的??

最佳答案

希望有所帮助。

它对我有用。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# For LocalHost !.php
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=::1

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=302,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

关于php - 从 URL 中删除 .php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29542588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com