1

我有一个问题,我正在为特定应用程序开发网络服务。上周我将备份从 server1 转移到 server2,因为那一刻我的 .htaccess 将不再工作。

我的网络服务的网址是: http ://apps.holtesdesign.nl/inholland/apiv0/

这个网址工作正常,加载错误报告模块: http ://apps.holtesdesign.nl/inholland/apiv0/bugreport.php

但网址应该是: http ://apps.holtesdesign.nl/inholland/apiv0/bugreport

当您打开最后一个 url 时,您会看到它会导致内部服务器错误。你知道怎么可能吗?

我的 .htaccess 看起来像:

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

服务器在 CentOS 上运行,我已经检查过 mod_rewrite 是否正常运行......

我希望你们能帮助我伙计们!

干杯,

耶尔默

4

4 回答 4

5

这将解决它:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1\.php

如果它不起作用,请更正您的 Wamp 服务器的设置:

  1. 左键单击 WAMP 图标
  2. 阿帕奇
  3. 阿帕奇模块
  4. 左键单击 rewrite_module。
于 2013-08-11T22:29:25.147 回答
4

这将隐藏尾部斜杠并隐藏根和子目录中的 .php。

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]
于 2016-04-20T03:12:11.340 回答
0

试试这个..它有效!:)

Options +FollowSymLinks
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php
于 2013-11-21T20:26:29.353 回答
0

我的工作理念:

# Options is required by Many HostSevice
Options +MultiViews

RewriteEngine on

# For .php & .html URL's:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]

在 .htaccess 文件的网站根文件夹中使用此代码:示例

离线 - wamp\www\YourWebDir

在线 - public_html/

重要提示:如果它不起作用,请纠正您的 Wamp 服务器的设置:1)左键单击 WAMP 图标 2)Apache 3)Apache 模块 4)左键单击 rewrite_module

于 2016-03-30T08:48:17.467 回答