我需要为mod重写URL规则编写一个条件,以检测正在执行的页面。
RewriteRule
我使用的工作正常,但问题是我需要对两个不同的网址使用相同的规则。
RewriteRule ^testing/([^/]*)$ /index.php?url=$1&name=&submit=submit [NC,L]
RewriteRule ^testing/([^/]*)$ /test.php?url=$1&name=&submit=submit [NC,L]
在未设置任何重写条件的情况下,在浏览器中添加example.com/testing/
时,无论我是RewriteRule
还是{{1},都会使用htaccess
中的第一个index.php
}}
这是test.php
我试过的一些内容:
RewriteCond
RewriteCond %{REQUEST_FILENAME} /test.php$
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ (test\.php)/ [NC]
RewriteCond %{THE_REQUEST} \s/+(test\.php)/ [NC]
并且是完整的htaccess文件代码:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /test\.php/
如何让第一个(index.php)Options +FollowSymLinks
RewriteEngine on
## check if on index.php ##
RewriteCond %{THE_REQUEST} ^.*\/index.php\/.*$ ## not working ##
## if on index.php do this ##
RewriteRule ^testing/([^/]*)$ /index.php?url=$1&name=&submit=submit [NC,L]
## check if on test.php ##
RewriteCond %{THE_REQUEST} ^.*\/test.php\/.*$ ## not working ##
## If on test.php do this ##
RewriteRule ^testing/([^/]*)$ /test.php?url=$1&name=&submit=submit [NC,L]
在rewriteRule
上工作,但在index.php
页面上忽略第一个规则并使用第二个规则?
谢谢:)
编辑:只是为了澄清。我不想重定向。我只想根据我所在的页面更改test.php
的值。正如我所提到的,rewriteRule已经正常工作了。
答案 0 :(得分:0)
public IQueryable<User> GetUsers()
{
IQueryable<User> users;
using (UserContext userContext = new UserContext())
{
users = userContext.Users;
if (users.Any() == false)
{
return null;
}
else
{
return users;
}
}
}
试试这个
答案 1 :(得分:0)
RewriteEngine On
#Checking if /index.php/ apears in URI
RewriteCond %{REQUEST_URI} ^(.*)\/index\.php\/(.*)$ [NC]
RewriteRule ^(.*)$ testing/index.php?url=$1&name=&submit=submit [NC]
这将显示 index.php?url = sth1 / index.php / sth2 输出,而不是 sth1 / index.php / sth2
祝你好运