重写子文件夹的URL条件 [英] rewrite url condition for subfolder
问题描述
我在这里有一个htaccess文件
I have an htaccess file here
/en/.htaccess
并且我想使此条件(适用于public_html中的主要htacces)也适用于子文件夹en
and i would like to make this condition (which is for the main htacces inside public_html) to work also for the subfolder 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就是这样开始的.
my htaccess starts like this.
RewriteEngine on
RewriteBase /en/
RewriteRule ^hot-events/?$ hot-events.php [NC,L]
最后一行将链接正确翻译为www.example.com/hot-events
The last line translates the link correctly as www.example.com/hot-events
但是我也希望它使第一个条件起作用.
我的意思是当有人使用此链接时
https://example.com/en/events/123/abc
它应该通过该文件运行查询
But i also want it to make the first condition work.
I mean when someone uses this link
https://example.com/en/events/123/abc
it should run the query by this file
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
,请尝试:
It's because your rewrite destination is incorrect. You are rewriting to /events/eventDetails.php
instead of /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]
这篇关于重写子文件夹的URL条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!