.htaccess htaccess通配符重定向到查询字符串

.htaccess htaccess通配符重定向到查询字符串,.htaccess,.htaccess,这个问题问得很快,我已经看过几百次了,但我就是没法让它起作用(真丢脸) 我试图将index.php以外的任何东西重定向到view.php?id=$1,其中$1是index.php以外的任何东西-但我似乎无法让它工作 例如: 应该使用index.php 这应该怎样 但是…… 应使用等 我尝试了一些方法,并仔细研究了上面的问题,但都没有用 有人有办法吗?非常感谢。可能是: RewriteCond %{REQUEST_URI} !^index\.php RewriteCond %{REQUEST_UR

这个问题问得很快,我已经看过几百次了,但我就是没法让它起作用(真丢脸)

我试图将index.php以外的任何东西重定向到view.php?id=$1,其中$1是index.php以外的任何东西-但我似乎无法让它工作

例如:

应该使用index.php
这应该怎样
但是……
应使用等

我尝试了一些方法,并仔细研究了上面的问题,但都没有用

有人有办法吗?非常感谢。

可能是:

RewriteCond %{REQUEST_URI} !^index\.php
RewriteCond %{REQUEST_URI} !^view\.php
RewriteRule ^(.*)$ view.php?id=$1 [L]

可能类似于:

RewriteCond %{REQUEST_URI} !^index\.php
RewriteCond %{REQUEST_URI} !^view\.php
RewriteRule ^(.*)$ view.php?id=$1 [L]

尝试将其放入文档根目录的htaccess文件中:

RewriteEngine On
RewriteRule ^$ /index.php [L]
RewriteRule ^index\.php - [L]
RewriteRule ^view\.php - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /view.php?id=$1 [L]
这里的逻辑是:

  • 如果请求URI为
    /
    请重写为
    index.php
  • 如果请求URI以
    index.php
    开头,则不要更改并传递
  • 如果请求URI以
    view.php
    开头,则不要更改并传递
  • 如果请求是针对不存在的文件或目录的,请使用id参数传递到
    view.php

  • 尝试将其放入文档根目录的htaccess文件中:

    RewriteEngine On
    RewriteRule ^$ /index.php [L]
    RewriteRule ^index\.php - [L]
    RewriteRule ^view\.php - [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /view.php?id=$1 [L]
    
    这里的逻辑是:

  • 如果请求URI为
    /
    请重写为
    index.php
  • 如果请求URI以
    index.php
    开头,则不要更改并传递
  • 如果请求URI以
    view.php
    开头,则不要更改并传递
  • 如果请求是针对不存在的文件或目录的,请使用id参数传递到
    view.php

  • 编辑以修复view.php上的循环。但是Jon Lin的答案可能是好的。编辑以修复view.php上的循环。但是Jon Lin的答案可能是好的。谢谢,这适用于通配符,但不适用于
    http://domain.com/
    等。还有,有没有办法让say/css/*/img/*正常工作?谢谢,这适用于通配符,但不适用于
    http://domain.com/
    等等。还有,有没有办法让say/css/*/img/*正常工作?