如何解决.htaccess问题

时间:2014-01-16 11:38:16

标签: php apache .htaccess mod-rewrite

我想做的很简单:

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

#for hiding.php extension
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1\.php
############################-------- END ---------########################

此外,我想在屏幕上显示一个$ _GET参数,链接应链接到该参数 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将login视为获取参数值。解决这个问题的方法是什么?

1 个答案:

答案 0 :(得分:0)

试试这段代码:

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]