我这里有一个 htaccess 文件
/en/.htaccess
我想让这个条件(适用于 public_html 内的主要 htaccess)也适用于子文件夹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
这是因为你的重写目标不正确。您正在重写为/events/eventDetails.php
代替/en/events/eventDetails.php
, try :
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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)