【问题标题】:RewriteEngine for a subfolder子文件夹的 RewriteEngine
【发布时间】:2019-08-29 12:14:18
【问题描述】:

我在同一个域中有 2 个项目。 子文件夹中的项目有一个 RESTApi,应该通过端点访问: mydomain.com/supplies/api/v1.0/orders.json

但是,当我尝试访问端点时,出现 404 错误。

.htaccess 文件在根 mydomain.com/

ErrorDocument 400 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
#Options -Indexes +FollowSymLinks

# FollowSymLinks must be activated for the rewrite to work
RewriteEngine On

.htaccess 在 mydomain.com/supplies/ 子文件夹中

RewriteEngine On
RewriteRule "([^/]*)/?api/(.*)?$" "index.php?process=api" [NC,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /supplies/error.php [L]
<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 259200000 seconds"
  ExpiresByType image/jpeg "access plus 259200000 seconds"
  ExpiresByType image/png "access plus 259200000 seconds"
  ExpiresByType text/css "access plus 60480000 seconds"
  ExpiresByType text/javascript "access plus 21600000 seconds"
  ExpiresByType application/x-javascript "access plus 21600000 seconds"
</ifModule>
<ifModule mod_headers.c>
  <filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=25920000, public"
  </filesMatch>
  <filesMatch "\\.(css)$">
    Header set Cache-Control "max-age=6048000, public"
  </filesMatch>
  <filesMatch "\\.(js)$">
    Header set Cache-Control "max-age=2160000, private"
  </filesMatch>
  <filesMatch "\\.(xml|txt)$">
    Header set Cache-Control "max-age=2160000, public, must-revalidate"
  </filesMatch>
  <filesMatch "\\.(html|htm|php)$">
    Header set Cache-Control "max-age=1, private, must-revalidate"
  </filesMatch>
</ifModule>
<ifModule mod_headers.c>
  Header unset ETag
</ifModule>
FileETag None
<ifModule mod_headers.c>
  Header unset Last-Modified
</ifModule>

有什么想法吗?

非常感谢。

【问题讨论】:

    标签: regex apache mod-rewrite


    【解决方案1】:

    您好,我刚刚找到了解决方案。

    在 /supplies/api/ 目录中,我使用以下代码创建了一个 .htaccess:

    DirectoryIndex /supplies/index.php?process=api
    RewriteEngine on
    RewriteBase /supplies/api/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* /supplies/index.php?process=api [PT]
    

    这对我来说就像一个魅力,谢谢你!

    【讨论】:

      猜你喜欢
      • 2019-04-12
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多