2016-08-15 83 views
0

我只是想从我的网址中删除.php,但由于某种原因,我无法让它工作。我经历了谷歌的每一页,我发现的每一个代码都不起作用。.htaccess删除.php不在工作网站

有些正在我的本地主机上工作,但没有人在现场服务器上工作。

比如我想www.website.com/the-url.php去www.website.com/the-url

如果用户改掉去www.website.com/the -url.php会自动删除.php为

这是香港专业教育学院有哪一种在本地主机上的作品,但不是生活的一个片段:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}.php -f 
    RewriteRule ^(.*)$ $1.php 
</IfModule> 

但是,这并不重定向.PHP,它只是让你查看在/the-url.php或/ url上的页面

任何人都可以请我帮忙吗?

+0

谁是您的托管服务提供商?有可能他们没有启用.htaccess文件以每个目录为基础工作。如果是这样,你应该与他们核实。 – Octopus

+0

好的,我会检查这个 – virepo

+0

尝试'RewriteCond%{REQUEST_FILENAME} .php -f RewriteRule!。* \。php $%{REQUEST_FILENAME} .php [QSA,L]' – devpro

回答

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

第3条规则的反斜杠。编辑:实际上可能不会改变任何东西。最好添加

+0

这个没有重定向.php到/ – virepo

-1
<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase/

    #remove ext 
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
    RewriteRule^%1 [R=301,L] 
    #internal redirect 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}.php -f 
    RewriteRule ^(.*?)/?$ $1.php [L] 
</IfModule> 
+0

这显示我的网址为http://www.website.com/vhost/vhost15/a/l/l/website.com/www/about – virepo

+0

我修正了代码。请尝试 –