【问题标题】:.htaccess. 404 RewriteRule with same file name.htaccess。 404 RewriteRule 具有相同的文件名
【发布时间】:2017-02-04 00:58:14
【问题描述】:

我是新来的!

首先,如果我的英语不好,对不起!

我正在制作一个简单的 RewriteRule,它给了我一个 404。 我不得不说它适用于商业主机(如 1and1),但不适用于我的 Apache(Ubuntu 服务器)

如果 RewriteRule 与 php 文件同名,则返回 404。

  • RewriteRule #1 正在运行。
  • RewriteRule #2 不起作用 (404)
  • RewriteRule #3 有效
  • RewriteRule #4 有效

            Options +FollowSymlinks
            RewriteEngine On
    
            RewriteBase /
            RedirectMatch ^/es/$ /es/home
            RewriteBase /es/
    
            #1
            RewriteRule ^home$ index.php [L,NC]
            #2
            RewriteRule ^login$ login.php [L,NC]
            #3
            RewriteRule ^anyName$ login.php [L,NC]
            #4
            RewriteRule ^singup$ register.php [L,NC]
    

【问题讨论】:

  • 你的意思是它不适用于登录关键字,同时它适用于同一 login.php 页面上的任何名称。
  • 是的,如果名称与 php 文件的名称相同,则返回 404。

标签: .htaccess mod-rewrite


【解决方案1】:

我没有同名文件夹,但是添加解决了

Options -MultiViews

【讨论】:

    【解决方案2】:

    试试这样,

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^login$ login.php [L]
    

    如果您要删除 .php,请尝试此规则

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^([\w-]+)$ $1.php [NC,L]
    

    上面将从所有具有 .php 扩展名的文件中删除 .php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多