Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何修复.htaccess问题_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php 如何修复.htaccess问题

Php 如何修复.htaccess问题,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我想做的很简单: 我想从我正在使用以下代码的文件中删除扩展名.php,该文件正在运行 #for hiding.php extension RewriteEngine On RewriteCond %{REQUEST_FILENAME}.php -f RewriteCond %{REQUEST_URI} !/$ RewriteRule ^(.*)$ $1\.php ############################-------- END ---------#################

我想做的很简单:

我想从我正在使用以下代码的文件中删除扩展名.php,该文件正在运行

#for hiding.php extension
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1\.php
############################-------- END ---------########################
我还想在屏幕上显示一个$\u GET参数,该参数的链接应该是this link localhost/123,表示localhost/somepage.php?para=123 为此,我使用了以下代码,这些代码也可以正常工作

    #for parameter Display
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*)$ somepage.php?para=$1
    ############################-------- END ---------########################
问题:如果没有将这些代码一起写入同一个“.htaccess”文件中,它们工作正常。但是当一起编写时,以及当我必须使用localhost/login访问登录页面时。htaccess将登录名视为获取参数值。有解决此问题的方法吗?

请尝试以下代码:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.+)$ /$1.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ somepage.php?para=$1 [L,QSA]

尝试在每个RewriteRule后面添加[L],[L]意味着找到匹配项时停止。请给我一个例子。当我使用localhost/login时,它在屏幕上显示
login
,而不是重定向到login.php页面。不,它不会重定向,而是从
/login.php
加载内容。这个.htaccess的位置是什么?它与
login.php
在同一目录中吗?