.htaccess不需要生成.php


Making .php not required with .htaccess

我正在努力让我的链接更容易编写,而不需要php.

我的重写规则是:

RewriteEngine on
RewriteRule ([a-z]+)$ $1.php

这是我自己写的第一个.htaccess,但似乎不起作用。我对RegExp很在行。我不认为这里有什么问题。

谢谢你的帮助。

确保在apache配置中启用mod_rewrite以及AllowOverride All

LoadModule rewrite_module modules/mod_rewrite.so
<Directory "c:/wamp/www/">
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from all
</Directory>

让它在wamp中工作单击系统中的wamp图标转到apache然后单击httpd.conf

在文件中搜索mod_rewrite.so。如果该行有注释(#),请取消注释。它应该看起来像

LoadModule rewrite_module modules/mod_rewrite.so

然后寻找类似的东西

<Directory "c:/wamp/www/">

您应该找到一个AllowOverride none将其更改为AllowOverride all重新启动wamp服务器

然后将.htaccess设置为昵称建议

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

如果仍然不起作用,只需在httpd.conf中搜索AllowOverride none,并将其全部更改为AllowOverride all,因为可能有几个

RewriteEngine on
RewriteRule ^(.*)$ $1.php

从这里开始:http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html

尽管您的文件适用于字母文件名,但无论文件名/路径如何,我都会使用以下方法来省略.php扩展名:

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

它确保您没有试图请求目录,并且请求的文件是PHP文件。