重写子文件夹的URL条件

康斯坦丁诺斯(Konstantinos Natsios)

我在这里有一个htaccess文件

/en/.htaccess

我想使这种情况(这是针对public_html中的主要htacces)也适用于子文件夹 en

RewriteCond %{THE_REQUEST} /events/eventDetails\.php\?id=(.+)&name=(.+)\sHTTP [NC]
RewriteRule ^ /events/%1/%2? [L,R]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^events/([^/]+)/([^/]+)/?$ /events/eventDetails.php?id=$1&name=$2 [L]

我的htaccess就是这样开始的。

RewriteEngine on
RewriteBase /en/
RewriteRule    ^hot-events/?$    hot-events.php    [NC,L] 

最后一行将链接正确翻译为www.example.com/hot-events

但我也希望它使第一个条件起作用。我的意思是,当有人使用此链接时,https://example.com/en/events/123/abc它应通过此文件运行查询

https://example.com/en/events/eventDetails.php?id=123&name=abc

目录结构

   root/
   ├── .htaccess
   ├── index.php
   ├── events/
   │     └── eventDetails.php
   └── en/
        ├── .htaccess
        ├── index.php
        └── events/
                └── eventDetails.php
阿米特·维玛(Amit Verma)

这是因为您的重写目标不正确。您正在重写/events/eventDetails.php而不是/en/events/eventDetails.php,请尝试:

RewriteEngine on
RewriteBase /en/
RewriteRule    ^hot-events/?$    hot-events.php    [NC,L] 
RewriteCond %{THE_REQUEST} /en/events/eventDetails\.php\?id=([^&]+)&name=(.+)\sHTTP [NC]
RewriteRule ^ /en/events/%1/%2? [L,R]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^events/([^/]+)/([^/]+)/?$ /en/events/eventDetails.php?id=$1&name=$2 [L]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章