Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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
如何在.htaccess文件中为php编写重写规则_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

如何在.htaccess文件中为php编写重写规则

如何在.htaccess文件中为php编写重写规则,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我的网站位于任何ip xxx.xxx.xxx.xxx上,并显示其登录页。当我点击任何链接xxx.xxx.xxx.xxx/about时,显示404页面未找到,如果我像xxx.xxx.xxx.xxx/index.php/about一样手动将index.php放入其中,则显示我的about页面。那么,我应该在.htaccess文件中写些什么,这样当我点击我的链接xxx.xxx.xxx.xxx/about时,就会显示我的页面 目前我的重写规则是 <IfModule mod_rewrit

我的网站位于任何ip xxx.xxx.xxx.xxx上,并显示其登录页。当我点击任何链接xxx.xxx.xxx.xxx/about时,显示404页面未找到,如果我像xxx.xxx.xxx.xxx/index.php/about一样手动将index.php放入其中,则显示我的about页面。那么,我应该在.htaccess文件中写些什么,这样当我点击我的链接xxx.xxx.xxx.xxx/about时,就会显示我的页面

目前我的重写规则是

      <IfModule mod_rewrite.c>

    ############################################
    ## enable rewrites

        Options +FollowSymLinks
        RewriteEngine on

    ############################################
    ## you can put here your magento root folder
    ## path relative to web root

        #RewriteBase /magento/

    ############################################
    ## uncomment next line to enable light API calls processing

    #    RewriteRule ^api/([a-z][0-9a-z_]+)/?$ api.php?type=$1 [QSA,L]

    ############################################
    ## rewrite API2 calls to api.php (by now it is REST only)

        RewriteRule ^api/rest api.php?type=rest [QSA,L]

    ############################################
    ## workaround for HTTP authorization
    ## in CGI environment

        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    ############################################
    ## TRACE and TRACK HTTP methods disabled to prevent XSS attacks

        RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
        RewriteRule .* - [L,R=405]

    ############################################
    ## redirect for mobile user agents

        #RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$
        #RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
        #RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302]

    ############################################
    ## always send 404 on missing files in these folders

        RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

    ############################################
    ## never rewrite for existing files, directories and links

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l

    ############################################
    ## rewrite everything else to index.php

        RewriteRule .* index.php [L]

    </IfModule>

我使用以下htaccess代码将我的url site.com/page.php?id=1重写为site.com/page/1

RewriteEngine On
RewriteRule ^page/(.*) page.php?id=$1 [L]
如果我在主htaccess文件中添加8条重写规则,可能会增加执行时间。所以我计划创建像page这样的目录,并在每个目录中放置一个新的htaccess文件

RewriteEngine On
RewriteRule (.*) index.php?id=$1 [L]
但是这个代码不起作用

也许这会对你有所帮助