我试图让我的链接更容易编写,没有.php。
我的重写规则是:
RewriteEngine on
RewriteRule ([a-z]+)$ $1.php
这是我自己编写的第一个 .htaccess,但它似乎不起作用。我很擅长正则表达式。我在这里看不到问题。
谢谢您的帮助。
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 文件。
确保在 apache 配置以及 AllowOverride All 中启用了 mod_rewrite
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
Change it to AllowOverride all
Restart your wamp server
然后将您的 .htaccess 设置为 nickb 建议
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
如果它仍然不起作用,只需在 httpd.conf 中搜索AllowOverride none
并将它们全部更改为AllowOverride all
,因为可能有几个