[英]Rewrite URL with .htaccess to hide PHP extension
我有一个问题,我正在为特定应用开发Web服务。 上周,我将备份从server1转移到server2,因为那一刻我的.htaccess文件不再可用。
我的网络服务的网址是: http : //apps.holtesdesign.nl/inholland/apiv0/
此网址可以正常工作,以加载bugreport模块: http : //apps.holtesdesign.nl/inholland/apiv0/bugreport.php
但该URL应该是: 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是否正在运行...
我希望你能帮助我!
干杯,
耶尔默
这将解决它:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1\.php
如果不起作用,请更正Wamp Server的设置:
这将在末尾隐藏斜杠,并在根目录和子目录中隐藏.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]
试试这个..它有效! :)
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
对我而言的工作理念:
# 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文件的Root文件夹中使用此代码:示例
离线-wamp \\ www \\ YourWebDir
在线-public_html /
重要说明:如果不起作用,请更正Wamp Server的设置:1)左键单击WAMP图标2)Apache 3)Apache模块4)左键rewrite_module
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.