【问题标题】:How to remove .php extension from live website url如何从实时网站 url 中删除 .php 扩展名
【发布时间】:2016-04-08 09:16:58
【问题描述】:

我参考了alexcican website 并将代码放在我的 htaccess 中。

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

它适用于我的localhost,但不适用于svn linklive website。请帮忙。

【问题讨论】:

    标签: php .htaccess url svn


    【解决方案1】:

    您使用的是 apache 服务器吗?检查您是否启用了mod_rewrite

    【讨论】:

    • 检查你的 apache 配置是否有` AllowOverride None` 也为你的目录更改了AllowOverride Allstackoverflow.com/questions/18740419/…
    • 已经完成了。仍然无法正常工作:(对不起我的英语不好。
    • 你重启了apache吗?
    • 是的。它在本地主机中工作,但仍然不在暂存链接中。
    【解决方案2】:

    以防万一,如果您在实时网站上为您的代码创建了任何文件夹,请尝试使用以下行

    RewriteBase /yourFolderName/

    将上面的代码保留在 RewriteEngine On 的下方

    【讨论】:

    • 但是让我问一个问题。我的本地主机也有与实时站点相同的文件夹。那怎么会是问题呢?
    • 尝试保留 RewriteBase /
    【解决方案3】:

    这个对我有用:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    ## don't touch /forum URIs
    RewriteRule ^forums/ - [L,NC]
    
    ## hide .php extension snippet
    
    # To externally redirect /dir/foo.php to /dir/foo
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
    RewriteRule ^ %1 [R,L]
    
    # To internally forward /dir/foo to /dir/foo.php
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*?)/?$ $1.php [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2020-10-20
      相关资源
      最近更新 更多