Apache .htaccess在xamp中不工作
我的Apache .htaccess在xamp中不工作,apache,.htaccess,mod-rewrite,xampp,Apache,.htaccess,Mod Rewrite,Xampp,我的localhost上有一个PHP项目,它正在运行一个XAMPP堆栈 我想从所有面向用户的URL中删除.php扩展名 我尝试在.htaccess文件中使用Apache的mod_rewrite: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^locations(/.*)?$ poet.php [L,NC] </IfModule> 重新启动发动机 重写基
localhost
上有一个PHP项目,它正在运行一个XAMPP堆栈
我想从所有面向用户的URL中删除.php
扩展名
我尝试在.htaccess
文件中使用Apache的mod_rewrite
:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^locations(/.*)?$ poet.php [L,NC]
</IfModule>
重新启动发动机
重写基/
重写规则^locations(/.*)?$poter.php[L,NC]
但它“不起作用”。尝试使用此代码解决您的问题
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
</IfModule>
重新启动发动机
RewriteCond%{REQUEST_FILENAME}.php-f
重写规则!*\。php$%{REQUEST_FILENAME}.php[QSA,L]
在项目目录中尝试以下规则
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
将此代码放入.htaccess文件中
RewriteEngine On
RewriteBase /
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]
注意:如果您的项目文件夹不在根目录下,请不要忘记更改RewriteBase路径。可能重复@Abhishek我在谷歌上看到过这篇文章,但这一步不起作用,所以最后我决定询问questionRewriteEngine关于RewriteRule^(.+)\.php$/$1[R,L]RewriteCond%{REQUEST_FILENAME}.php-f RewriteRule^(.*?/?$/$1.php[北卡罗来纳州,结束]当我使用这个时,我发现了404page@VivekMishra如果您遇到相关问题或其他没有帮助的材料,最好在问题中说明。这样人们会知道您尝试了什么,并且有人可能会发现差异。我还从我的http启用了AllowOverride。如果您的项目t文件夹不在根目录下。我无法理解这一点。这是我的第一个HTAccess。这意味着,如果您的项目位于htdocs文件夹的根目录下,则按原样使用上述代码,但如果您的项目不在htdocs的根目录下,则请指定指向项目文件夹的路径……例如,假设您的项目位于htdocs/projects/demoproject1内……那么RewriteBase路径将类似于RewriteBase/projects/demoproject1/
RewriteEngine On
RewriteBase /
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]